1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 22:11:21 -08:00

Prevent display corruption when display-line-numbers is set

* src/xdisp.c (try_window_reusing_current_matrix): If giving up
due to display-line-numbers, clear the window's desired glyph
matrix before returning, as the following call to try_window will
call display_line, which expects rows of the desired matrix
cleared.  (Bug#27668)
This commit is contained in:
Eli Zaretskii 2017-07-14 10:53:36 +03:00
parent 5c9b6e901c
commit 6fa3176cca

View file

@ -17655,6 +17655,9 @@ try_window_reusing_current_matrix (struct window *w)
if (w->vscroll || MATRIX_ROW_PARTIALLY_VISIBLE_P (w, start_row))
return false;
/* Clear the desired matrix for the display below. */
clear_glyph_matrix (w->desired_matrix);
/* Give up if line numbers are being displayed, because reusing the
current matrix might use the wrong width for line-number
display. */
@ -17667,9 +17670,6 @@ try_window_reusing_current_matrix (struct window *w)
start = start_row->minpos;
start_vpos = MATRIX_ROW_VPOS (start_row, w->current_matrix);
/* Clear the desired matrix for the display below. */
clear_glyph_matrix (w->desired_matrix);
if (CHARPOS (new_start) <= CHARPOS (start))
{
/* Don't use this method if the display starts with an ellipsis