diff options
| author | Eli Zaretskii | 2014-10-18 15:47:57 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2014-10-18 15:47:57 +0300 |
| commit | 6b247d287327777dfd29e20eac177c2005e99b45 (patch) | |
| tree | f7581b4e96b9ba0f2f475f15c888b718d0050a6d /src/ChangeLog | |
| parent | 605cfb8b7a4ef8f73ddc8f2de5c086f3a7455971 (diff) | |
| parent | b5e71861a3b15de7651be4524f38337aa451bfd7 (diff) | |
| download | emacs-6b247d287327777dfd29e20eac177c2005e99b45.tar.gz emacs-6b247d287327777dfd29e20eac177c2005e99b45.zip | |
Fix bidi reordering of bracket characters in isolates.
src/bidi.c (bidi_cache_find): Rename the argument NEUTRALS_OK to
RESOLVED_ONLY; when non-zero, return from the cache only fully
resolved states. All callers changed.
(CANONICAL_EQU): New macro.
(PUSH_BPA_STACK): Use it to push onto the BPA stack the canonical
equivalent of the paired closing bracket character.
(bidi_find_bracket_pairs): Set the bracket_pairing_pos member to
the default non-negative value, to be checked later in
bidi_resolve_brackets. Use CANONICAL_EQU to test candidate
characters against those pushed onto the BPA stack.
(bidi_record_type_for_neutral): New function.
(bidi_resolve_brackets): Record next_for_neutral and
prev_for_neutral when embedding level gets pushed. Force
resolution of bracket pairs when entering a level run that was not
yet BPA-resolved.
(bidi_resolve_neutral): Add assertions before calling
bidi_resolve_neutral_1.
(bidi_level_of_next_char): Remove the code that attempted to
resolve unresolved neutrals; that is now done by
bidi_resolve_neutral.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 026ae46299d..66306bd5fb6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,27 @@ | |||
| 1 | 2014-10-18 Eli Zaretskii <eliz@gnu.org> | 1 | 2014-10-18 Eli Zaretskii <eliz@gnu.org> |
| 2 | 2 | ||
| 3 | Fix reordering of bracket characters in isolates. | ||
| 4 | * bidi.c (bidi_cache_find): Rename the argument NEUTRALS_OK to | ||
| 5 | RESOLVED_ONLY; when non-zero, return from the cache only fully | ||
| 6 | resolved states. All callers changed. | ||
| 7 | (CANONICAL_EQU): New macro. | ||
| 8 | (PUSH_BPA_STACK): Use it to push onto the BPA stack the canonical | ||
| 9 | equivalent of the paired closing bracket character. | ||
| 10 | (bidi_find_bracket_pairs): Set the bracket_pairing_pos member to | ||
| 11 | the default non-negative value, to be checked later in | ||
| 12 | bidi_resolve_brackets. Use CANONICAL_EQU to test candidate | ||
| 13 | characters against those pushed onto the BPA stack. | ||
| 14 | (bidi_record_type_for_neutral): New function. | ||
| 15 | (bidi_resolve_brackets): Record next_for_neutral and | ||
| 16 | prev_for_neutral when embedding level gets pushed. Force | ||
| 17 | resolution of bracket pairs when entering a level run that was not | ||
| 18 | yet BPA-resolved. | ||
| 19 | (bidi_resolve_neutral): Add assertions before calling | ||
| 20 | bidi_resolve_neutral_1. | ||
| 21 | (bidi_level_of_next_char): Remove the code that attempted to | ||
| 22 | resolve unresolved neutrals; that is now done by | ||
| 23 | bidi_resolve_neutral. | ||
| 24 | |||
| 3 | * w32select.c (owner_callback): Mark with ALIGN_STACK attribute. | 25 | * w32select.c (owner_callback): Mark with ALIGN_STACK attribute. |
| 4 | 26 | ||
| 5 | 2014-10-17 Eli Zaretskii <eliz@gnu.org> | 27 | 2014-10-17 Eli Zaretskii <eliz@gnu.org> |