diff options
| author | Eli Zaretskii | 2022-03-03 14:46:20 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2022-03-03 14:46:20 +0200 |
| commit | cd51d9c7ab5914fb58cbba6ae7bf5d53f7fef03f (patch) | |
| tree | 6b81839e1df3aa7c3b2251dd9c1b534b10cf547a /src | |
| parent | 225e0d6047de9576ee48ce612fcd561f818195aa (diff) | |
| download | emacs-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.c | 4 |
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 | } |