diff options
| author | Eli Zaretskii | 2014-10-22 19:09:57 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2014-10-22 19:09:57 +0300 |
| commit | 6a7884caf2a6f4a7fb7faa9ba275163d40f6bd96 (patch) | |
| tree | d069f3b26e0a621dffb1747bea2b55f13af3ca16 /src/ChangeLog | |
| parent | 36749d80256f49ac10860405b95fe319012c3b91 (diff) | |
| download | emacs-6a7884caf2a6f4a7fb7faa9ba275163d40f6bd96.tar.gz emacs-6a7884caf2a6f4a7fb7faa9ba275163d40f6bd96.zip | |
Fix bug #18778 with slow redisplay of bracketed L2R text with long lines.
src/bidi.c (bidi_cache_reset_to): New function.
(bidi_cache_reset): Call it.
(bidi_init_it, bidi_line_init): Initialize the bracket_pairing_pos
member to -1.
(bidi_resolve_explicit): Reset bracket_pairing_pos and
bracket_enclosed_type only if bracket_pairing_pos's value is not
ZV.
(MAX_BPA_STACK): Make sure the value is signed.
(PUSH_BPA_STACK): If the BPA stack overflows, don't bail out, but
stop pushing values onto the stack.
(bidi_find_bracket_pairs): If the bracketed text is only on the
base embedding level, remove all the states cached by this
function from the cache, and return zero, so that the brackets in
this segment of text are processed as normal neutrals.
(bidi_resolve_brackets): Detect the brackets that are to be
processed as neutrals, and don't call bidi_find_bracket_pairs on
them.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index daa11d7f5c7..91f910aa6f9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,24 @@ | |||
| 1 | 2014-10-22 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | Optimize redisplay of simple bracketed text. | ||
| 4 | * bidi.c (bidi_cache_reset_to): New function. | ||
| 5 | (bidi_cache_reset): Call it. | ||
| 6 | (bidi_init_it, bidi_line_init): Initialize the bracket_pairing_pos | ||
| 7 | member to -1. | ||
| 8 | (bidi_resolve_explicit): Reset bracket_pairing_pos and | ||
| 9 | bracket_enclosed_type only if bracket_pairing_pos's value is not | ||
| 10 | ZV. | ||
| 11 | (MAX_BPA_STACK): Make sure the value is signed. | ||
| 12 | (PUSH_BPA_STACK): If the BPA stack overflows, don't bail out, but | ||
| 13 | stop pushing values onto the stack. | ||
| 14 | (bidi_find_bracket_pairs): If the bracketed text is only on the | ||
| 15 | base embedding level, remove all the states cached by this | ||
| 16 | function from the cache, and return zero, so that the brackets in | ||
| 17 | this segment of text are processed as normal neutrals. | ||
| 18 | (bidi_resolve_brackets): Detect the brackets that are to be | ||
| 19 | processed as neutrals, and don't call bidi_find_bracket_pairs on | ||
| 20 | them. (Bug#18778) | ||
| 21 | |||
| 1 | 2014-10-21 Stefan Monnier <monnier@iro.umontreal.ca> | 22 | 2014-10-21 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 23 | ||
| 3 | * w32select.c (Fw32_selection_exists_p): Rename from | 24 | * w32select.c (Fw32_selection_exists_p): Rename from |