Fix part 2 of bug #9771 with lines that start with a display vector.

src/xdisp.c (start_display): If the character at POS is displayed
 via a display vector, reset IT->current.dpvec_index to zero.
This commit is contained in:
Eli Zaretskii 2011-10-19 11:48:35 +02:00
parent 5214e501a2
commit 8547b010fa
2 changed files with 13 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2011-10-19 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (start_display): If the character at POS is displayed
via a display vector, reset IT->current.dpvec_index to zero.
(Bug#9771, part 2)
2011-10-18 Chong Yidong <cyd@gnu.org>
* xdisp.c (get_next_display_element): Handle U+2010 and U+2011

View file

@ -2851,6 +2851,13 @@ start_display (struct it *it, struct window *w, struct text_pos pos)
it->continuation_lines_width += it->current_x;
}
/* If the character at POS is displayed via a display
vector, move_it_to above stops at the final glyph of
IT->dpvec. To make the caller redisplay that character
again (a.k.a. start at POS), we need to reset the
dpvec_index to the beginning of IT->dpvec. */
else if (it->current.dpvec_index >= 0)
it->current.dpvec_index = 0;
/* We're starting a new display line, not affected by the
height of the continued line, so clear the appropriate