aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy <[email protected]>1991-07-25 13:21:16 +0000
committerJim Blandy <[email protected]>1991-07-25 13:21:16 +0000
commit98038dc07cefd8a43582cf720561c19949d1127c (patch)
tree759689e27af47955fc68a083e863420f3c8e8079 /src
parent06000e3c7210cf71151f1f86184ce2430dc33d77 (diff)
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/dispnew.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index fce73f1e29..89c4bcfba1 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -534,8 +534,8 @@ safe_bcopy (from, to, size)
}
else
{
- /* Since the overlap is always less than SIZE, we can always
- safely do this loop once. */
+ /* Since TO - FROM >= 64, the overlap is less than SIZE,
+ so we can always safely do this loop once. */
while (endt > to)
{
endt -= (to - from);
@@ -584,7 +584,7 @@ safe_bcopy (from, to, size)
}
#endif
-/* Rotate a vector of SIZE bytes, by DISTANCE bytes.
+/* Rotate a vector of SIZE bytes right, by DISTANCE bytes.
DISTANCE may be negative. */
static void
@@ -1248,20 +1248,31 @@ buffer_posn_from_coords (window, col, line)
in the buffer, or at the top of the window; both of these
assure us that the character at bufp starts flush with the
beginning of the line. */
- int i;
+ int start_line;
+
+#if 0
+ /* Unfortunately, the bufp array doesn't seem to be updated properly. */
/* Only works for the leftmost window on a line. bufp is useless
for the others. */
if (window_left == 0)
{
- for (i = line; i > XFASTINT (window->top); i--)
- if (FETCH_CHAR (bufp[i]-1) == '\n')
+ for (start_line = line; start_line > 0; start_line--)
+ if (FETCH_CHAR (bufp[XFASTINT (window->top) + start_line]-1)
+ == '\n')
break;
+ posn = bufp[XFASTINT (window->top) + start_line];
+ }
+ else
+#endif
+ {
+ start_line = 0;
+ posn = Fmarker_position (window->start);
}
posn
- = compute_motion (bufp[i], i, window_left,
- ZV, col, line,
+ = compute_motion (posn, start_line, window_left,
+ ZV, line, col - window_left,
window_width, XINT (window->hscroll), 0)
->bufpos;
}