From 9c8b83828fff34f68e89282aad31eb7ab1425d8c Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Fri, 29 Dec 2000 21:08:50 +0000 Subject: [PATCH] (try_window_reusing_current_matrix) : Disable rows in the current matrix which are below the window after scrolling. --- src/ChangeLog | 10 ++++++++++ src/xdisp.c | 9 +++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 8c8fb7d43d8..7d54241ad0a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,15 @@ 2000-12-29 Gerd Moellmann + * 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) + : 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. diff --git a/src/xdisp.c b/src/xdisp.c index ae35c982e97..ed98ced48a2 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -10185,10 +10185,10 @@ try_window_reusing_current_matrix (w) 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; @@ -10213,6 +10213,11 @@ try_window_reusing_current_matrix (w) 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 -- 2.39.2