aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann1999-09-02 20:35:56 +0000
committerGerd Moellmann1999-09-02 20:35:56 +0000
commitca42b2e80b2c378a0329ab8913871023c977f6d9 (patch)
tree206ee7466a311795d2b944c9b025df41d8443744 /src
parentce1dc5105eb5aaa6025ea2b4702c926efdc28d61 (diff)
downloademacs-ca42b2e80b2c378a0329ab8913871023c977f6d9.tar.gz
emacs-ca42b2e80b2c378a0329ab8913871023c977f6d9.zip
(try_window_id): Reset first_unchanged_at_end_row
if we have displayed to the bottom of the window.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 87e0da3bbb5..f803ce3027e 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9793,9 +9793,6 @@ try_window_id (w)
9793 start_pos = it.current.pos; 9793 start_pos = it.current.pos;
9794 } 9794 }
9795 9795
9796 bottom_row = MATRIX_BOTTOM_TEXT_ROW (current_matrix, w);
9797 bottom_vpos = MATRIX_ROW_VPOS (bottom_row, current_matrix);
9798
9799 /* Find the first row that is not affected by changes at the end of 9796 /* Find the first row that is not affected by changes at the end of
9800 the buffer. Value will be null if there is no unchanged row, in 9797 the buffer. Value will be null if there is no unchanged row, in
9801 which case we must redisplay to the end of the window. delta 9798 which case we must redisplay to the end of the window. delta
@@ -9884,7 +9881,10 @@ try_window_id (w)
9884 /* Compute differences in buffer positions, y-positions etc. for 9881 /* Compute differences in buffer positions, y-positions etc. for
9885 lines reused at the bottom of the window. Compute what we can 9882 lines reused at the bottom of the window. Compute what we can
9886 scroll. */ 9883 scroll. */
9887 if (first_unchanged_at_end_row) 9884 if (first_unchanged_at_end_row
9885 /* No lines reused because we displayed everything up to the
9886 bottom of the window. */
9887 && it.current_y < it.last_visible_y)
9888 { 9888 {
9889 dvpos = (it.vpos 9889 dvpos = (it.vpos
9890 - MATRIX_ROW_VPOS (first_unchanged_at_end_row, 9890 - MATRIX_ROW_VPOS (first_unchanged_at_end_row,
@@ -9895,7 +9895,10 @@ try_window_id (w)
9895 run.height = it.last_visible_y - max (run.current_y, run.desired_y); 9895 run.height = it.last_visible_y - max (run.current_y, run.desired_y);
9896 } 9896 }
9897 else 9897 else
9898 delta = dvpos = dy = run.current_y = run.desired_y = run.height = 0; 9898 {
9899 delta = dvpos = dy = run.current_y = run.desired_y = run.height = 0;
9900 first_unchanged_at_end_row = NULL;
9901 }
9899 IF_DEBUG (debug_dvpos = dvpos; debug_dy = dy); 9902 IF_DEBUG (debug_dvpos = dvpos; debug_dy = dy);
9900 9903
9901 9904
@@ -10043,7 +10046,11 @@ try_window_id (w)
10043 update_end (f); 10046 update_end (f);
10044 } 10047 }
10045 10048
10046 /* Shift reused rows of the current matrix to the right position. */ 10049 /* Shift reused rows of the current matrix to the right position.
10050 BOTTOM_ROW is the last + 1 row in the current matrix reserved for
10051 text. */
10052 bottom_row = MATRIX_BOTTOM_TEXT_ROW (current_matrix, w);
10053 bottom_vpos = MATRIX_ROW_VPOS (bottom_row, current_matrix);
10047 if (dvpos < 0) 10054 if (dvpos < 0)
10048 { 10055 {
10049 rotate_matrix (current_matrix, first_unchanged_at_end_vpos + dvpos, 10056 rotate_matrix (current_matrix, first_unchanged_at_end_vpos + dvpos,