Save and restore bidi cache when saving and restoring the iterator.
commited94e6d7bf6751592ff3dadb2b87f03ffaab3bfa
authorEli Zaretskii <eliz@gnu.org>
Sun, 3 Jul 2011 18:36:56 +0000 (3 21:36 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 3 Jul 2011 18:36:56 +0000 (3 21:36 +0300)
tree0d06ed1743bb484cac818ef7ff75d68f107a6332
parent6eec759623c7d77e01370c504543a29887c28034
Save and restore bidi cache when saving and restoring the iterator.
Not tested, just compiled.

 src/bidi.c (bidi_shelve_cache, bidi_unshelve_cache): New functions.
 src/dispextern.h (bidi_shelve_cache, bidi_unshelve_cache): Declare
 prototypes.
 src/xdisp.c (SAVE_IT, RESTORE_IT): New macros.
 (pos_visible_p, face_before_or_after_it_pos)
 (back_to_previous_visible_line_start)
 (move_it_in_display_line_to, move_it_in_display_line)
 (move_it_to, move_it_vertically_backward, move_it_by_lines)
 (try_scrolling, redisplay_window, display_line): Use them when
 saving a temporary copy of the iterator and restoring it back.
src/ChangeLog
src/bidi.c
src/dispextern.h
src/xdisp.c