Improve the speedup of bidi display introduced in 2011-10-18T16:56:09Z!eliz@gnu.org...
authorEli Zaretskii <eliz@gnu.org>
Thu, 20 Oct 2011 12:39:52 +0000 (14:39 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 20 Oct 2011 12:39:52 +0000 (14:39 +0200)
commit7b5d6677eca241b608f32b1de8d60e03758ec157
treeacb4c67188e9ca5e819c44350a3907812638a904
parent1ebc9c872623dab285842f273a18937223f4d3c6
Improve the speedup of bidi display introduced in 2011-10-18T16:56:09Z!eliz@gnu.org for bug#9771.

 src/dispextern.h (struct bidi_it): New member next_en_type.
 src/bidi.c (bidi_line_init): Initialize the next_en_type member.
 (bidi_resolve_explicit_1): When next_en_pos is valid for the
 current character, check also for next_en_type being WEAK_EN.
 (bidi_resolve_weak): Don't enter the expensive loop if the current
 position is before next_en_pos.  Record the bidi type of the first
 non-ET, non-BN character we find, in addition to its position.
 (bidi_level_of_next_char): Invalidate next_en_type when
 next_en_pos is over-stepped.
src/ChangeLog
src/bidi.c
src/dispextern.h