From: Eli Zaretskii Date: Tue, 15 Mar 2022 19:21:20 +0000 (+0200) Subject: Clean up implementation of N0 per UAX#9 X-Git-Tag: emacs-29.0.90~1931^2~1112 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5e8fbf7789613511061d78a42ca7f91bc831f786;p=emacs.git Clean up implementation of N0 per UAX#9 * src/bidi.c (bidi_resolve_brackets): Instead of requiring prev_for_neutral's type to be known, fall back on SOS, per the UBA. --- diff --git a/src/bidi.c b/src/bidi.c index 44b7422bdc6..4d2c74b17cd 100644 --- a/src/bidi.c +++ b/src/bidi.c @@ -2927,8 +2927,11 @@ bidi_resolve_brackets (struct bidi_it *bidi_it) 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) + bidi_type_t prev_type_for_neutral = bidi_it->prev_for_neutral.type; + + if (prev_type_for_neutral == UNKNOWN_BT) + prev_type_for_neutral = embedding_type; + switch (prev_type_for_neutral) { case STRONG_R: case WEAK_EN: