summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-07-23 13:44:40 -0400
committerEli Zaretskii <eliz@gnu.org>2023-07-23 13:44:40 -0400
commitbbd91a05fa83b7b2a651d5386f4592db405bbcda (patch)
tree9ee552f4ce2303c980ffe7ecc77201847edb17a5 /src
parent865817633f6e4b548c9d138fdf792394d021e2f5 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c3
1 files changed, 2 insertions, 1 deletions
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;
}