2000-12-29 Gerd Moellmann <gerd@gnu.org>
+ * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
+ function.
+ (update_window) [GLYPH_DEBUG]: Call it.
+ (scrolling_window): Prevent including current rows which are below
+ what's displayed in the window.
+
+ * xdisp.c (try_window_reusing_current_matrix)
+ <new start <= old start>: Disable rows in the current matrix
+ which are below the window after scrolling.
+
* xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
is zero. It's not worth the complexity.
(invisible_text_between_p): Put in #if 0 because unused.
MATRIX_ROW_VPOS (bottom_row, w->current_matrix),
nrows_scrolled);
- /* Disable lines not reused. */
+ /* Disable lines that must be updated. */
for (i = 0; i < it.vpos; ++i)
(start_row + i)->enabled_p = 0;
-
+
/* Re-compute Y positions. */
min_y = WINDOW_DISPLAY_HEADER_LINE_HEIGHT (w);
max_y = it.last_visible_y;
if (MATRIX_ROW_BOTTOM_Y (row) >= it.last_visible_y)
break;
}
+
+ /* Disable lines in the current matrix which are now
+ below the window. */
+ for (; row < bottom_row; ++row)
+ row->enabled_p = 0;
}
/* Update window_end_pos etc.; last_reused_text_row is the last