aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2022-03-03 14:46:20 +0200
committerEli Zaretskii2022-03-03 14:46:20 +0200
commitcd51d9c7ab5914fb58cbba6ae7bf5d53f7fef03f (patch)
tree6b81839e1df3aa7c3b2251dd9c1b534b10cf547a /src
parent225e0d6047de9576ee48ce612fcd561f818195aa (diff)
downloademacs-cd51d9c7ab5914fb58cbba6ae7bf5d53f7fef03f.tar.gz
emacs-cd51d9c7ab5914fb58cbba6ae7bf5d53f7fef03f.zip
Fix handling of brackets in BPA
* 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)
Diffstat (limited to 'src')
-rw-r--r--src/bidi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bidi.c b/src/bidi.c
index 30a3be6c94e..5f47d9e9a7c 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -2924,7 +2924,8 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
2924 eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos); 2924 eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos);
2925 if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */ 2925 if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */
2926 type = embedding_type; 2926 type = embedding_type;
2927 else 2927 else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */
2928 || bidi_it->bracket_enclosed_type == STRONG_R)
2928 { 2929 {
2929 switch (bidi_it->prev_for_neutral.type) 2930 switch (bidi_it->prev_for_neutral.type)
2930 { 2931 {
@@ -2944,6 +2945,7 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
2944 break; 2945 break;
2945 default: 2946 default:
2946 /* N0d: Do not set the type for that bracket pair. */ 2947 /* N0d: Do not set the type for that bracket pair. */
2948 /* (Actuallly, this shouldn't happen.) */
2947 break; 2949 break;
2948 } 2950 }
2949 } 2951 }