Fix various problems with cursor positioning around display properties.
authorEli Zaretskii <eliz@gnu.org>
Sat, 9 Jul 2011 13:57:13 +0000 (16:57 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 9 Jul 2011 13:57:13 +0000 (16:57 +0300)
commit3855635591937dc2076ff143f8ad3b8b35495231
treec50cff61f4d3341a8f4b9c8077e44245fd65e573
parentad3c1639757e8b5aefb490426ca44dad08b74130
Fix various problems with cursor positioning around display properties.

 src/xdisp.c (move_it_in_display_line_to): Record prev_method and
 prev_pos immediately before the call to set_iterator_to_next.
 Fixes cursor motion in bidi-reordered lines with stretch glyphs
 and strings displayed in margins.  (Bug#8133)  (Bug#8867)
 Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
 TO_CHARPOS.
 (pos_visible_p): Support positions in bidi-reordered lines.  Save
 and restore bidi cache.
 (move_it_in_display_line_to): If iterator ended up at
 EOL, but we never saw any buffer positions smaller than
 to_charpos, return MOVE_POS_MATCH_OR_ZV.  Fixes vertical cursor
 motion in bidi-reordered lines.
src/ChangeLog
src/xdisp.c