Commit 12b32963 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Followup to 2011-10-19T09:48:35Z!eliz@gnu.org.

 src/xdisp.c (try_window_reusing_current_matrix): If a line ends in a display
 vector or the next line starts in a display vector, continue
 redrawing the window even though the character position of
 start_row was reached.

Fixes: debbugs:9771
parent ba9d54be
......@@ -2,6 +2,10 @@
* xdisp.c (start_display): If the character at POS is displayed
via a display vector, reset IT->current.dpvec_index to zero.
(try_window_reusing_current_matrix): If a line ends in a display
vector or the next line starts in a display vector, continue
redrawing the window even though the character position of
start_row was reached.
(Bug#9771, part 2)
2011-10-18 Chong Yidong <cyd@gnu.org>
......
......@@ -16078,13 +16078,20 @@ try_window_reusing_current_matrix (struct window *w)
start_vpos = MATRIX_ROW_VPOS (start_row, w->current_matrix);
}
/* If we have reached alignment,
we can copy the rest of the rows. */
if (IT_CHARPOS (it) == CHARPOS (start))
/* If we have reached alignment, we can copy the rest of the
rows. */
if (IT_CHARPOS (it) == CHARPOS (start)
/* Don't accept "alignment" inside a display vector,
since start_row could have started in the middle of
that same display vector (thus their character
positions match), and we have no way of telling if
that is the case. */
&& it.current.dpvec_index < 0)
break;
if (display_line (&it))
last_text_row = it.glyph_row - 1;
}
/* A value of current_y < last_visible_y means that we stopped
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment