aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorEli Zaretskii2014-10-15 17:11:25 +0300
committerEli Zaretskii2014-10-15 17:11:25 +0300
commited7ebd933a5294e0f27cb49268e7b6376de36648 (patch)
tree90256953a29fa18f4cfb3945a6491567f8a8a6d0 /src/ChangeLog
parent0b4d6d30be2822df7d6b086bbab32b8ff419ed5d (diff)
parentb8ec977659df3970a6c8afb7a5b79c9b61e08307 (diff)
downloademacs-ed7ebd933a5294e0f27cb49268e7b6376de36648.tar.gz
emacs-ed7ebd933a5294e0f27cb49268e7b6376de36648.zip
Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
src/bidi.c (bidi_ignore_explicit_marks_for_paragraph_level): Remove variable. (bidi_get_type): Return the isolate initiators and terminator types. (bidi_isolate_fmt_char, bidi_paired_bracket_type) (bidi_fetch_char_skip_isolates, find_first_strong_char) (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions. (bidi_set_sos_type): Renamed from bidi_set_sor_type and updated for the new features. (bidi_push_embedding_level, bidi_pop_embedding_level): Update to push and pop correctly for isolates. (bidi_remember_char): Modified to accept an additional argument and record the bidi type according to its value. (bidi_cache_iterator_state): Accept an additional argument to only update an existing state. Handle the new members of struct bidi_it. (bidi_cache_find): Arguments changed: no lnger accepts a level, instead accepts a flag telling it whether it is okay to return unresolved neutrals. (bidi_initialize): Initiate and staticpro the bracket-type uniprop table. Initialize new isolate-related members. (bidi_paragraph_init): Some code factored out into find_first_strong_char. (bidi_resolve_explicit_1): Function deleted, its code incorporated into bidi_resolve_explicit. (bidi_resolve_explicit): Support the isolate initiators and terminator. Fix handling of embeddings and overrides according to new UBA requirements. Record information about previously seen characters here (moved from bidi_level_of_next_char). (bidi_resolve_weak): Adapt to changes in struct members. (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK) (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros. (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the paired bracket resolution. Handle isolate initiators and terminator. (bidi_type_of_next_char): Remove unneeded code for BN limit. (bidi_level_of_next_char): Move the code that records information about previous characters to bidi_resolve_explicit. Fix logic of resolving neutrals and make sure their cache entries are updated. Remove now unneeded special handling of PDF level. src/dispextern.h (struct glyph): Enlarge the width of resolved_level. (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and enlarged per Unicode 6.3. (enum bidi_bracket_type_t): New data type. (struct bidi_saved_info): Leave only 2 type members out of 4. Remove bytepos. (struct bidi_stack): Add members necessary to support isolating sequences. (struct bidi_it): Add new members necessary to support isolating sequences and bracket pair resolution. src/xdisp.c (Fbidi_resolved_levels): New function. (syms_of_xdisp): Defsubr it. (append_glyph, append_composite_glyph, produce_image_glyph) (append_stretch_glyph, append_glyphless_glyph): Convert aborts to assertions. (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable. src/term.c (append_glyph, append_composite_glyph) (append_glyphless_glyph): Convert aborts to assertions. src/.gdbinit (pgx): Display the character codepoint, resolved level, and bidi type also for glyphless glyphs. lisp/simple.el (what-cursor-position): Update to support the new bidi characters. lisp/descr-text.el (describe-char): Update to support the new bidi characters. admin/unidata/unidata-gen.el (unidata-prop-alist): New properties 'paired-bracket' and 'bracket-type', in support of the UBA 6.3. (unidata-gen-table): Support PROP-IDX being a function. (unidata-describe-bidi-bracket-type, unidata-gen-brackets-list) (unidata-gen-bracket-type-list): New functions. (unidata-check): Support checking the 'bracket-type' attribute. (unidata-gen-files): Don't create backups for uni-*.el files. admin/unidata/Makefile.in (${unidir}/charprop.el): Depend on BidiMirroring.txt and BidiBrackets.txt. admin/unidata/BidiBrackets.txt: New file, from Unicode. etc/NEWS: Mention the UBA implementation update. etc/HELLO: Remove now unneeded directional control characters. doc/lispref/nonascii.texi (Character Properties): Document the new properties 'bracket-type' and 'paired-bracket'. doc/lisprefdisplay.texi (Bidirectional Display): Update the version of the UBA to which we are conforming. test/BidiCharacterTest.txt: New file, from Unicode. test/biditest.el: New file.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6823f6d3127..22fd7891df5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,70 @@
12014-10-15 Eli Zaretskii <eliz@gnu.org>
2
3 Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
4 * bidi.c (bidi_ignore_explicit_marks_for_paragraph_level): Remove
5 variable.
6 (bidi_get_type): Return the isolate initiators and terminator
7 types.
8 (bidi_isolate_fmt_char, bidi_paired_bracket_type)
9 (bidi_fetch_char_skip_isolates, find_first_strong_char)
10 (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions.
11 (bidi_set_sos_type): Renamed from bidi_set_sor_type and updated
12 for the new features.
13 (bidi_push_embedding_level, bidi_pop_embedding_level): Update to
14 push and pop correctly for isolates.
15 (bidi_remember_char): Modified to accept an additional argument
16 and record the bidi type according to its value.
17 (bidi_cache_iterator_state): Accept an additional argument to only
18 update an existing state. Handle the new members of struct bidi_it.
19 (bidi_cache_find): Arguments changed: no lnger accepts a level,
20 instead accepts a flag telling it whether it is okay to return
21 unresolved neutrals.
22 (bidi_initialize): Initiate and staticpro the bracket-type uniprop
23 table. Initialize new isolate-related members.
24 (bidi_paragraph_init): Some code factored out into
25 find_first_strong_char.
26 (bidi_resolve_explicit_1): Function deleted, its code incorporated
27 into bidi_resolve_explicit.
28 (bidi_resolve_explicit): Support the isolate initiators and
29 terminator. Fix handling of embeddings and overrides according to
30 new UBA requirements. Record information about previously seen
31 characters here (moved from bidi_level_of_next_char).
32 (bidi_resolve_weak): Adapt to changes in struct members.
33 (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK)
34 (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros.
35 (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the
36 paired bracket resolution. Handle isolate initiators and
37 terminator.
38 (bidi_type_of_next_char): Remove unneeded code for BN limit.
39 (bidi_level_of_next_char): Move the code that records information
40 about previous characters to bidi_resolve_explicit. Fix logic of
41 resolving neutrals and make sure their cache entries are updated.
42 Remove now unneeded special handling of PDF level.
43
44 * dispextern.h (struct glyph): Enlarge the width of resolved_level.
45 (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and
46 enlarged per Unicode 6.3.
47 (enum bidi_bracket_type_t): New data type.
48 (struct bidi_saved_info): Leave only 2 type members out of 4.
49 Remove bytepos.
50 (struct bidi_stack): Add members necessary to support isolating
51 sequences.
52 (struct bidi_it): Add new members necessary to support isolating
53 sequences and bracket pair resolution.
54
55 * xdisp.c (Fbidi_resolved_levels): New function.
56 (syms_of_xdisp): Defsubr it.
57 (append_glyph, append_composite_glyph, produce_image_glyph)
58 (append_stretch_glyph, append_glyphless_glyph): Convert aborts to
59 assertions.
60 (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable.
61
62 * term.c (append_glyph, append_composite_glyph)
63 (append_glyphless_glyph): Convert aborts to assertions.
64
65 * .gdbinit (pgx): Display the character codepoint, resolved level,
66 and bidi type also for glyphless glyphs.
67
12014-10-15 Dmitry Antipov <dmantipov@yandex.ru> 682014-10-15 Dmitry Antipov <dmantipov@yandex.ru>
2 69
3 Avoid unwanted point motion in Fline_beginning_position. 70 Avoid unwanted point motion in Fline_beginning_position.