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.
This commit is contained in:
Eli Zaretskii 2023-07-23 13:44:40 -04:00
parent 865817633f
commit bbd91a05fa

View file

@ -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;
}