aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Blandy1991-07-25 13:21:16 +0000
committerJim Blandy1991-07-25 13:21:16 +0000
commit98038dc07cefd8a43582cf720561c19949d1127c (patch)
tree759689e27af47955fc68a083e863420f3c8e8079
parent06000e3c7210cf71151f1f86184ce2430dc33d77 (diff)
downloademacs-98038dc07cefd8a43582cf720561c19949d1127c.tar.gz
emacs-98038dc07cefd8a43582cf720561c19949d1127c.zip
*** empty log message ***
-rw-r--r--src/dispnew.c27
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
590static void 590static 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 }