diff options
| author | Jim Blandy | 1991-07-25 13:21:16 +0000 |
|---|---|---|
| committer | Jim Blandy | 1991-07-25 13:21:16 +0000 |
| commit | 98038dc07cefd8a43582cf720561c19949d1127c (patch) | |
| tree | 759689e27af47955fc68a083e863420f3c8e8079 | |
| parent | 06000e3c7210cf71151f1f86184ce2430dc33d77 (diff) | |
| download | emacs-98038dc07cefd8a43582cf720561c19949d1127c.tar.gz emacs-98038dc07cefd8a43582cf720561c19949d1127c.zip | |
*** empty log message ***
| -rw-r--r-- | src/dispnew.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index fce73f1e292..89c4bcfba13 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -534,8 +534,8 @@ safe_bcopy (from, to, size) | |||
| 534 | } | 534 | } |
| 535 | else | 535 | else |
| 536 | { | 536 | { |
| 537 | /* Since the overlap is always less than SIZE, we can always | 537 | /* Since TO - FROM >= 64, the overlap is less than SIZE, |
| 538 | safely do this loop once. */ | 538 | so we can always safely do this loop once. */ |
| 539 | while (endt > to) | 539 | while (endt > to) |
| 540 | { | 540 | { |
| 541 | endt -= (to - from); | 541 | endt -= (to - from); |
| @@ -584,7 +584,7 @@ safe_bcopy (from, to, size) | |||
| 584 | } | 584 | } |
| 585 | #endif | 585 | #endif |
| 586 | 586 | ||
| 587 | /* Rotate a vector of SIZE bytes, by DISTANCE bytes. | 587 | /* Rotate a vector of SIZE bytes right, by DISTANCE bytes. |
| 588 | DISTANCE may be negative. */ | 588 | DISTANCE may be negative. */ |
| 589 | 589 | ||
| 590 | static void | 590 | static void |
| @@ -1248,20 +1248,31 @@ buffer_posn_from_coords (window, col, line) | |||
| 1248 | in the buffer, or at the top of the window; both of these | 1248 | in the buffer, or at the top of the window; both of these |
| 1249 | assure us that the character at bufp starts flush with the | 1249 | assure us that the character at bufp starts flush with the |
| 1250 | beginning of the line. */ | 1250 | beginning of the line. */ |
| 1251 | int i; | 1251 | int start_line; |
| 1252 | |||
| 1253 | #if 0 | ||
| 1254 | /* Unfortunately, the bufp array doesn't seem to be updated properly. */ | ||
| 1252 | 1255 | ||
| 1253 | /* Only works for the leftmost window on a line. bufp is useless | 1256 | /* Only works for the leftmost window on a line. bufp is useless |
| 1254 | for the others. */ | 1257 | for the others. */ |
| 1255 | if (window_left == 0) | 1258 | if (window_left == 0) |
| 1256 | { | 1259 | { |
| 1257 | for (i = line; i > XFASTINT (window->top); i--) | 1260 | for (start_line = line; start_line > 0; start_line--) |
| 1258 | if (FETCH_CHAR (bufp[i]-1) == '\n') | 1261 | if (FETCH_CHAR (bufp[XFASTINT (window->top) + start_line]-1) |
| 1262 | == '\n') | ||
| 1259 | break; | 1263 | break; |
| 1264 | posn = bufp[XFASTINT (window->top) + start_line]; | ||
| 1265 | } | ||
| 1266 | else | ||
| 1267 | #endif | ||
| 1268 | { | ||
| 1269 | start_line = 0; | ||
| 1270 | posn = Fmarker_position (window->start); | ||
| 1260 | } | 1271 | } |
| 1261 | 1272 | ||
| 1262 | posn | 1273 | posn |
| 1263 | = compute_motion (bufp[i], i, window_left, | 1274 | = compute_motion (posn, start_line, window_left, |
| 1264 | ZV, col, line, | 1275 | ZV, line, col - window_left, |
| 1265 | window_width, XINT (window->hscroll), 0) | 1276 | window_width, XINT (window->hscroll), 0) |
| 1266 | ->bufpos; | 1277 | ->bufpos; |
| 1267 | } | 1278 | } |