diff options
| author | Eli Zaretskii | 2022-03-08 15:41:46 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2022-03-08 15:41:48 +0200 |
| commit | d509d1e1a884a33d6e8a5196bc0e8314b0a892f9 (patch) | |
| tree | 3a47bf2b9df49881bdc57dd6f253d958e5e31d43 /src | |
| parent | a7fdbed880fb92392b93c3ad53e89c0ce7ba515f (diff) | |
| parent | d184773c2e2a69bea9b96190c83727b4e7a16542 (diff) | |
| download | emacs-d509d1e1a884a33d6e8a5196bc0e8314b0a892f9.tar.gz emacs-d509d1e1a884a33d6e8a5196bc0e8314b0a892f9.zip | |
Merge from origin/emacs-28
d184773 Avoid assertion violations in 'bidi_resolve_brackets'
Diffstat (limited to 'src')
| -rw-r--r-- | src/bidi.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/bidi.c b/src/bidi.c index dfe21c86d6d..44b7422bdc6 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -2921,13 +2921,13 @@ bidi_resolve_brackets (struct bidi_it *bidi_it) | |||
| 2921 | int embedding_level = bidi_it->level_stack[bidi_it->stack_idx].level; | 2921 | int embedding_level = bidi_it->level_stack[bidi_it->stack_idx].level; |
| 2922 | bidi_type_t embedding_type = (embedding_level & 1) ? STRONG_R : STRONG_L; | 2922 | bidi_type_t embedding_type = (embedding_level & 1) ? STRONG_R : STRONG_L; |
| 2923 | 2923 | ||
| 2924 | eassert (bidi_it->prev_for_neutral.type != UNKNOWN_BT); | ||
| 2925 | eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos); | 2924 | eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos); |
| 2926 | if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */ | 2925 | if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */ |
| 2927 | type = embedding_type; | 2926 | type = embedding_type; |
| 2928 | else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */ | 2927 | else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */ |
| 2929 | || bidi_it->bracket_enclosed_type == STRONG_R) | 2928 | || bidi_it->bracket_enclosed_type == STRONG_R) |
| 2930 | { | 2929 | { |
| 2930 | eassert (bidi_it->prev_for_neutral.type != UNKNOWN_BT); | ||
| 2931 | switch (bidi_it->prev_for_neutral.type) | 2931 | switch (bidi_it->prev_for_neutral.type) |
| 2932 | { | 2932 | { |
| 2933 | case STRONG_R: | 2933 | case STRONG_R: |
| @@ -2946,7 +2946,6 @@ bidi_resolve_brackets (struct bidi_it *bidi_it) | |||
| 2946 | break; | 2946 | break; |
| 2947 | default: | 2947 | default: |
| 2948 | /* N0d: Do not set the type for that bracket pair. */ | 2948 | /* N0d: Do not set the type for that bracket pair. */ |
| 2949 | /* (Actuallly, this shouldn't happen.) */ | ||
| 2950 | break; | 2949 | break; |
| 2951 | } | 2950 | } |
| 2952 | } | 2951 | } |