aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xdisp.c8
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);