diff options
| author | Gerd Moellmann | 1999-09-02 20:35:56 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 1999-09-02 20:35:56 +0000 |
| commit | ca42b2e80b2c378a0329ab8913871023c977f6d9 (patch) | |
| tree | 206ee7466a311795d2b944c9b025df41d8443744 /src | |
| parent | ce1dc5105eb5aaa6025ea2b4702c926efdc28d61 (diff) | |
| download | emacs-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.c | 19 |
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, |