aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2001-10-17 15:29:12 +0000
committerGerd Moellmann2001-10-17 15:29:12 +0000
commit23e8bd8665b9f024438f6cd5a915482b285e4010 (patch)
treea2435337eefb68033b2840f25adeef563f838834 /src
parent9c6ba6d10c11eca11586e8fb3841435fc9a61dc9 (diff)
downloademacs-23e8bd8665b9f024438f6cd5a915482b285e4010.tar.gz
emacs-23e8bd8665b9f024438f6cd5a915482b285e4010.zip
(try_window_id): Undo last change. Give up if
window ends in strings.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xdisp.c48
2 files changed, 28 insertions, 25 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 67bf8de2fb5..cfb78753687 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,9 +1,12 @@
12001-10-17 Gerd Moellmann <gerd@gnu.org> 12001-10-17 Gerd Moellmann <gerd@gnu.org>
2 2
3 * xdisp.c (try_window_id): Undo last change. Give up if
4 window ends in strings.
5
3 * xdisp.c (try_window_id): Don't display lines after the window 6 * xdisp.c (try_window_id): Don't display lines after the window
4 end if the rest of the window after the window end was already 7 end if the rest of the window after the window end was already
5 blank. 8 blank.
6 9
7 * xdisp.c (try_window_id): Remove code that was only there 10 * xdisp.c (try_window_id): Remove code that was only there
8 for the release of 21.1. 11 for the release of 21.1.
9 12
diff --git a/src/xdisp.c b/src/xdisp.c
index f1d1f792685..69fd0c73c6c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11476,6 +11476,12 @@ try_window_id (w)
11476 if (!TEXT_POS_EQUAL_P (start, row->start.pos)) 11476 if (!TEXT_POS_EQUAL_P (start, row->start.pos))
11477 GIVE_UP (16); 11477 GIVE_UP (16);
11478 11478
11479 /* Give up if the window ends in strings. Overlay strings
11480 at the end are difficult to handle, so don't try. */
11481 row = MATRIX_ROW (current_matrix, XFASTINT (w->window_end_vpos));
11482 if (MATRIX_ROW_START_CHARPOS (row) == MATRIX_ROW_END_CHARPOS (row))
11483 GIVE_UP (20);
11484
11479 /* Compute the position at which we have to start displaying new 11485 /* Compute the position at which we have to start displaying new
11480 lines. Some of the lines at the top of the window might be 11486 lines. Some of the lines at the top of the window might be
11481 reusable because they are not displaying changed text. Find the 11487 reusable because they are not displaying changed text. Find the
@@ -11565,7 +11571,7 @@ try_window_id (w)
11565 } 11571 }
11566 } 11572 }
11567 else if (last_unchanged_at_beg_row == NULL) 11573 else if (last_unchanged_at_beg_row == NULL)
11568 GIVE_UP (18); 11574 GIVE_UP (19);
11569 11575
11570 11576
11571#if GLYPH_DEBUG 11577#if GLYPH_DEBUG
@@ -11827,29 +11833,23 @@ try_window_id (w)
11827 ++last_row; 11833 ++last_row;
11828 } 11834 }
11829 11835
11830 if (IT_CHARPOS (it) < ZV) 11836 /* We may start in a continuation line. If so, we have to
11837 get the right continuation_lines_width and current_x. */
11838 it.continuation_lines_width = last_row->continuation_lines_width;
11839 it.hpos = it.current_x = 0;
11840
11841 /* Display the rest of the lines at the window end. */
11842 it.glyph_row = MATRIX_ROW (desired_matrix, it.vpos);
11843 while (it.current_y < it.last_visible_y
11844 && !fonts_changed_p)
11831 { 11845 {
11832 /* Otherwise, the rest of the window after the window 11846 /* Is it always sure that the display agrees with lines in
11833 end was blank, and scrolling didn't change that. */ 11847 the current matrix? I don't think so, so we mark rows
11834 11848 displayed invalid in the current matrix by setting their
11835 /* We may start in a continuation line. If so, we have to 11849 enabled_p flag to zero. */
11836 get the right continuation_lines_width and current_x. */ 11850 MATRIX_ROW (w->current_matrix, it.vpos)->enabled_p = 0;
11837 it.continuation_lines_width = last_row->continuation_lines_width; 11851 if (display_line (&it))
11838 it.hpos = it.current_x = 0; 11852 last_text_row_at_end = it.glyph_row - 1;
11839
11840 /* Display the rest of the lines at the window end. */
11841 it.glyph_row = MATRIX_ROW (desired_matrix, it.vpos);
11842 while (it.current_y < it.last_visible_y
11843 && !fonts_changed_p)
11844 {
11845 /* Is it always sure that the display agrees with lines in
11846 the current matrix? I don't think so, so we mark rows
11847 displayed invalid in the current matrix by setting their
11848 enabled_p flag to zero. */
11849 MATRIX_ROW (w->current_matrix, it.vpos)->enabled_p = 0;
11850 if (display_line (&it))
11851 last_text_row_at_end = it.glyph_row - 1;
11852 }
11853 } 11853 }
11854 } 11854 }
11855 11855
@@ -11940,7 +11940,7 @@ try_window_id (w)
11940 XFASTINT (w->window_end_vpos) + 1, 11940 XFASTINT (w->window_end_vpos) + 1,
11941 bottom_vpos, 0); 11941 bottom_vpos, 0);
11942#endif 11942#endif
11943 11943
11944 IF_DEBUG (debug_end_pos = XFASTINT (w->window_end_pos); 11944 IF_DEBUG (debug_end_pos = XFASTINT (w->window_end_pos);
11945 debug_end_vpos = XFASTINT (w->window_end_vpos)); 11945 debug_end_vpos = XFASTINT (w->window_end_vpos));
11946 11946