]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix handling of brackets in BPA
authorEli Zaretskii <eliz@gnu.org>
Thu, 3 Mar 2022 12:46:20 +0000 (14:46 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 3 Mar 2022 12:46:20 +0000 (14:46 +0200)
* src/bidi.c (bidi_resolve_brackets): Fix implementation of UBA's
N0 rule when there are no strong directional characters inside the
bracketed pair.  (Bug#54219)

src/bidi.c

index 30a3be6c94ea8d2e4fd9abb0e34ad4d746ec4ac0..5f47d9e9a7cc129421fbbeb75be0cd347f8f28fa 100644 (file)
@@ -2924,7 +2924,8 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
       eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos);
       if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */
        type = embedding_type;
-      else
+      else if (bidi_it->bracket_enclosed_type == STRONG_L   /* N0c, N0d */
+              || bidi_it->bracket_enclosed_type == STRONG_R)
        {
          switch (bidi_it->prev_for_neutral.type)
            {
@@ -2944,6 +2945,7 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
              break;
            default:
              /* N0d: Do not set the type for that bracket pair.  */
+             /* (Actuallly, this shouldn't happen.)  */
              break;
            }
        }