From: Gerd Moellmann Date: Wed, 17 Oct 2001 14:05:34 +0000 (+0000) Subject: (try_window_id): Don't display lines after the window X-Git-Tag: ttn-vms-21-2-B4~19388 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9c6ba6d10c11eca11586e8fb3841435fc9a61dc9;p=emacs.git (try_window_id): Don't display lines after the window end if the rest of the window after the window end was already blank. --- diff --git a/src/ChangeLog b/src/ChangeLog index 9cf6a721aa1..67bf8de2fb5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,12 @@ 2001-10-17 Gerd Moellmann + * 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. + * xdisp.c (display_line): Don't indicate empty lines in mini-windows. diff --git a/src/xdisp.c b/src/xdisp.c index 533b7927347..f1d1f792685 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -11799,6 +11799,8 @@ try_window_id (w) last_text_row_at_end = NULL; if (dy < 0) { + /* Scrolling up can leave for example a partially visible line + at the end of the window to be redisplayed. */ /* Set last_row to the glyph row in the current matrix where the window end line is found. It has been moved up or down in the matrix by dvpos. */ @@ -11825,23 +11827,29 @@ try_window_id (w) ++last_row; } - /* 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) + if (IT_CHARPOS (it) < ZV) { - /* 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; + /* 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; + } } }