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:
parent
5214e501a2
commit
8547b010fa
2 changed files with 13 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue