mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-14 09:39:42 +00:00
(try_window_id): Undo last change. Give up if
window ends in strings.
This commit is contained in:
parent
9c6ba6d10c
commit
23e8bd8665
@ -1,9 +1,12 @@
|
||||
2001-10-17 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* xdisp.c (try_window_id): Undo last change. Give up if
|
||||
window ends in strings.
|
||||
|
||||
* xdisp.c (try_window_id): Don't display lines after the window
|
||||
end if the rest of the window after the window end was already
|
||||
blank.
|
||||
|
||||
|
||||
* xdisp.c (try_window_id): Remove code that was only there
|
||||
for the release of 21.1.
|
||||
|
||||
|
48
src/xdisp.c
48
src/xdisp.c
@ -11476,6 +11476,12 @@ try_window_id (w)
|
||||
if (!TEXT_POS_EQUAL_P (start, row->start.pos))
|
||||
GIVE_UP (16);
|
||||
|
||||
/* Give up if the window ends in strings. Overlay strings
|
||||
at the end are difficult to handle, so don't try. */
|
||||
row = MATRIX_ROW (current_matrix, XFASTINT (w->window_end_vpos));
|
||||
if (MATRIX_ROW_START_CHARPOS (row) == MATRIX_ROW_END_CHARPOS (row))
|
||||
GIVE_UP (20);
|
||||
|
||||
/* Compute the position at which we have to start displaying new
|
||||
lines. Some of the lines at the top of the window might be
|
||||
reusable because they are not displaying changed text. Find the
|
||||
@ -11565,7 +11571,7 @@ try_window_id (w)
|
||||
}
|
||||
}
|
||||
else if (last_unchanged_at_beg_row == NULL)
|
||||
GIVE_UP (18);
|
||||
GIVE_UP (19);
|
||||
|
||||
|
||||
#if GLYPH_DEBUG
|
||||
@ -11827,29 +11833,23 @@ try_window_id (w)
|
||||
++last_row;
|
||||
}
|
||||
|
||||
if (IT_CHARPOS (it) < ZV)
|
||||
/* We may start in a continuation line. If so, we have to
|
||||
get the right continuation_lines_width and current_x. */
|
||||
it.continuation_lines_width = last_row->continuation_lines_width;
|
||||
it.hpos = it.current_x = 0;
|
||||
|
||||
/* Display the rest of the lines at the window end. */
|
||||
it.glyph_row = MATRIX_ROW (desired_matrix, it.vpos);
|
||||
while (it.current_y < it.last_visible_y
|
||||
&& !fonts_changed_p)
|
||||
{
|
||||
/* Otherwise, the rest of the window after the window
|
||||
end was blank, and scrolling didn't change that. */
|
||||
|
||||
/* We may start in a continuation line. If so, we have to
|
||||
get the right continuation_lines_width and current_x. */
|
||||
it.continuation_lines_width = last_row->continuation_lines_width;
|
||||
it.hpos = it.current_x = 0;
|
||||
|
||||
/* Display the rest of the lines at the window end. */
|
||||
it.glyph_row = MATRIX_ROW (desired_matrix, it.vpos);
|
||||
while (it.current_y < it.last_visible_y
|
||||
&& !fonts_changed_p)
|
||||
{
|
||||
/* Is it always sure that the display agrees with lines in
|
||||
the current matrix? I don't think so, so we mark rows
|
||||
displayed invalid in the current matrix by setting their
|
||||
enabled_p flag to zero. */
|
||||
MATRIX_ROW (w->current_matrix, it.vpos)->enabled_p = 0;
|
||||
if (display_line (&it))
|
||||
last_text_row_at_end = it.glyph_row - 1;
|
||||
}
|
||||
/* Is it always sure that the display agrees with lines in
|
||||
the current matrix? I don't think so, so we mark rows
|
||||
displayed invalid in the current matrix by setting their
|
||||
enabled_p flag to zero. */
|
||||
MATRIX_ROW (w->current_matrix, it.vpos)->enabled_p = 0;
|
||||
if (display_line (&it))
|
||||
last_text_row_at_end = it.glyph_row - 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -11940,7 +11940,7 @@ try_window_id (w)
|
||||
XFASTINT (w->window_end_vpos) + 1,
|
||||
bottom_vpos, 0);
|
||||
#endif
|
||||
|
||||
|
||||
IF_DEBUG (debug_end_pos = XFASTINT (w->window_end_pos);
|
||||
debug_end_vpos = XFASTINT (w->window_end_vpos));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user