emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r118121: Update the bidirectional reordering engine


From: Eli Zaretskii
Subject: [Emacs-diffs] trunk r118121: Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
Date: Wed, 15 Oct 2014 14:15:17 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 118121 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Wed 2014-10-15 17:11:25 +0300
message:
  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.
added:
  admin/unidata/BidiBrackets.txt 
bidibrackets.txt-20140903160840-kwpzicrw0rcwwxk5-1
  test/BidiCharacterTest.txt     
bidicharactertest.tx-20140906143510-c7sljtse5ddtegj8-1
  test/biditest.el               biditest.el-20140906143407-7404eb7v12z0ia23-1
modified:
  .bzrignore                     bzrignore-20091227212532-2lrlpwjsfm9i221p-1
  .gitignore                     gitignore-20091113204419-o5vbwnq5f7feedwu-8827
  admin/ChangeLog                changelog-20091113204419-o5vbwnq5f7feedwu-2226
  admin/unidata/Makefile.in      
makefile.in-20091113204419-o5vbwnq5f7feedwu-8551
  admin/unidata/unidata-gen.el   
unidatagen.el-20091113204419-o5vbwnq5f7feedwu-8382
  doc/lispref/ChangeLog          changelog-20091113204419-o5vbwnq5f7feedwu-6155
  doc/lispref/display.texi       
display.texi-20091113204419-o5vbwnq5f7feedwu-6172
  doc/lispref/nonascii.texi      
nonascii.texi-20091113204419-o5vbwnq5f7feedwu-6202
  etc/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1485
  etc/HELLO                      hello-20091113204419-o5vbwnq5f7feedwu-1082
  etc/NEWS                       news-20141002041645-34n5fasbwydbo8t6-1
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/descr-text.el             
descrtext.el-20091113204419-o5vbwnq5f7feedwu-2419
  lisp/simple.el                 simple.el-20091113204419-o5vbwnq5f7feedwu-403
  src/.gdbinit                   gdbinit-20091113204419-o5vbwnq5f7feedwu-460
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/bidi.c                     bidi.c-20091231194348-rm8gzug639w0dpq5-1
  src/dispextern.h               
dispextern.h-20091113204419-o5vbwnq5f7feedwu-218
  src/term.c                     term.c-20091113204419-o5vbwnq5f7feedwu-220
  src/xdisp.c                    xdisp.c-20091113204419-o5vbwnq5f7feedwu-240
  test/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-8588
Diff too large for email (99798 lines, the limit is 10000).

reply via email to

[Prev in Thread] Current Thread [Next in Thread]