Fix bug #9218 with slow cursor motion and scrolling Org Mode buffers.
authorEli Zaretskii <eliz@gnu.org>
Tue, 2 Aug 2011 19:16:32 +0000 (22:16 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 2 Aug 2011 19:16:32 +0000 (22:16 +0300)
commit55439c615b8e04748a66a6d88ec70a9ac5acd672
treedf8c9c478b012b4ac25c5be2cf881c9398bfe174
parent0e6a2bd74efe96eb9b171aa8011b1a13db7f80df
Fix bug #9218 with slow cursor motion and scrolling Org Mode buffers.

 src/dispextern.h (struct bidi_it): New member disp_prop_p.
 src/xdisp.c: Remove one-slot cache of display string positions.
 (compute_display_string_pos): Accept an additional argument
 DISP_PROP_P; callers changed. Scan at most 5K characters forward
 for a display string or property.  If found, set DISP_PROP_P
 non-zero.
 src/bidi.c (bidi_fetch_char): Accept an additional argument
 DISP_PROP_P, and pass it to compute_display_string_pos.  Only
 handle text covered by a display string if DISP_PROP_P is returned
 non-zero.  All callers of bidi_fetch_char changed.
src/ChangeLog
src/bidi.c
src/dispextern.h
src/xdisp.c