diff options
| author | Eli Zaretskii | 2022-03-08 15:35:39 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2022-03-08 15:35:39 +0200 |
| commit | d184773c2e2a69bea9b96190c83727b4e7a16542 (patch) | |
| tree | 6483b6d0d5b049a02cb7359b65c7d23af48760f7 /src | |
| parent | 80736aef9085ad04e59902b0d0a31fb1f663858b (diff) | |
| download | emacs-d184773c2e2a69bea9b96190c83727b4e7a16542.tar.gz emacs-d184773c2e2a69bea9b96190c83727b4e7a16542.zip | |
Avoid assertion violations in 'bidi_resolve_brackets'
* src/bidi.c (bidi_resolve_brackets): Move assertion to where it
really matters. (Bug#54295)
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 a548960048a..9449e099446 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 | } |