Merge from origin/emacs-28

d184773 Avoid assertion violations in 'bidi_resolve_brackets'
This commit is contained in:
Eli Zaretskii 2022-03-08 15:41:46 +02:00
commit d509d1e1a8

View file

@ -2921,13 +2921,13 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
int embedding_level = bidi_it->level_stack[bidi_it->stack_idx].level;
bidi_type_t embedding_type = (embedding_level & 1) ? STRONG_R : STRONG_L;
eassert (bidi_it->prev_for_neutral.type != UNKNOWN_BT);
eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos);
if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */
type = embedding_type;
else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */
|| bidi_it->bracket_enclosed_type == STRONG_R)
{
eassert (bidi_it->prev_for_neutral.type != UNKNOWN_BT);
switch (bidi_it->prev_for_neutral.type)
{
case STRONG_R:
@ -2946,7 +2946,6 @@ 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;
}
}