diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/xdisp.c | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 193bb73976..4d493eab7b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,7 +1,9 @@ 2011-08-08 Eli Zaretskii <[email protected]> * xdisp.c (forward_to_next_line_start): Allow to use the - no-display-properties-and-no-overlays under bidi display. + no-display-properties-and-no-overlays under bidi display. Set + disp_pos in the bidi iterator to avoid searches for display + properties and overlays. 2011-08-08 Chong Yidong <[email protected]> diff --git a/src/xdisp.c b/src/xdisp.c index 2a46fe2dad..1437aafef3 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5551,6 +5551,14 @@ forward_to_next_line_start (struct it *it, int *skipped_p, { struct bidi_it bprev; + /* Help bidi.c avoid expensive searches for display + properties and overlays, by telling it that there are + none up to `limit'. */ + if (it->bidi_it.disp_pos < limit) + { + it->bidi_it.disp_pos = limit; + it->bidi_it.disp_prop_p = 0; + } do { bprev = it->bidi_it; bidi_move_to_visually_next (&it->bidi_it); |