emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master bbd91a05fa8: Fix rare aborts in CHECK_WINDOW_END


From: Eli Zaretskii
Subject: master bbd91a05fa8: Fix rare aborts in CHECK_WINDOW_END
Date: Sun, 23 Jul 2023 13:46:31 -0400 (EDT)

branch: master
commit bbd91a05fa83b7b2a651d5386f4592db405bbcda
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix rare aborts in CHECK_WINDOW_END
    
    Those aborts happen because a window's window_end_vpos value
    is inconsistent with the current matrix's number of rows, which
    happens after resizing the mini-window.
    * src/xdisp.c (mark_window_display_accurate_1): Don't validate the
    window_end_valid flag if window_end_vpos is inconsistent with the
    current_matrix's number of rows.  This happens, e.g., when
    Edebug wants to show a value in the mini-window that causes it to
    resize, as the window above the mini-window was usually already
    redisplayed, and we think its display is accurate.
---
 src/xdisp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index 540fdbb0b07..8a6e2b0f6d6 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -17498,7 +17498,8 @@ mark_window_display_accurate_1 (struct window *w, bool 
accurate_p)
       else
        w->last_point = marker_position (w->pointm);
 
-      w->window_end_valid = true;
+      if (w->window_end_vpos < w->current_matrix->nrows)
+       w->window_end_valid = true;
       w->update_mode_line = false;
       w->preserve_vscroll_p = false;
     }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]