diff options
| author | Eli Zaretskii <eliz@gnu.org> | 2023-07-23 13:44:40 -0400 |
|---|---|---|
| committer | Eli Zaretskii <eliz@gnu.org> | 2023-07-23 13:44:40 -0400 |
| commit | bbd91a05fa83b7b2a651d5386f4592db405bbcda (patch) | |
| tree | 9ee552f4ce2303c980ffe7ecc77201847edb17a5 /src | |
| parent | 865817633f6e4b548c9d138fdf792394d021e2f5 (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.c | 3 |
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; } |
