# HG changeset patch # User Gerd Moellmann # Date 971811139 0 # Node ID b15e9539194bd2e88fbcfb0f2127cba847b77a73 # Parent 4cbe2979f52b52454afe008ab6525549f5b40c0e (try_cursor_movement): Use cursor_row_p also when PT has moved backward. diff -r 4cbe2979f52b -r b15e9539194b src/xdisp.c --- a/src/xdisp.c Tue Oct 17 16:08:57 2000 +0000 +++ b/src/xdisp.c Tue Oct 17 19:32:19 2000 +0000 @@ -8958,12 +8958,12 @@ if (rc == 0) { int scroll_p = 0; + int last_y = window_text_bottom_y (w) - this_scroll_margin; + if (PT > XFASTINT (w->last_point)) { /* Point has moved forward. */ - int last_y = window_text_bottom_y (w) - this_scroll_margin; - while (MATRIX_ROW_END_CHARPOS (row) < PT && MATRIX_ROW_BOTTOM_Y (row) < last_y) { @@ -9024,9 +9024,9 @@ /* Due to newlines in overlay strings, we may have to skip forward over overlay strings. */ - while (MATRIX_ROW_END_CHARPOS (row) == PT - && MATRIX_ROW_ENDS_IN_OVERLAY_STRING_P (row) - && !row->ends_at_zv_p) + while (MATRIX_ROW_BOTTOM_Y (row) < last_y + && MATRIX_ROW_END_CHARPOS (row) == PT + && !cursor_row_p (w, row)) ++row; /* If within the scroll margin, scroll. */