• Eli Zaretskii's avatar
    Save and restore bidi cache when saving and restoring the iterator. · ed94e6d7
    Eli Zaretskii authored
    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.
    ed94e6d7
bidi.c 74 KB