emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 383ccf6d51f: Avoid assertion violations in bidi.c


From: Eli Zaretskii
Subject: emacs-29 383ccf6d51f: Avoid assertion violations in bidi.c
Date: Tue, 27 Feb 2024 06:13:36 -0500 (EST)

branch: emacs-29
commit 383ccf6d51fd7af65dbcc1ce159a03369a48d27f
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Avoid assertion violations in bidi.c
    
    * src/bidi.c (bidi_resolve_brackets): Move assertion about
    'resolved_level' to where it belongs.  This avoids unnecessary
    aborts when the character is not a bracket type and doesn't need
    BPA resolution.  (Bug#69421)
---
 src/bidi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bidi.c b/src/bidi.c
index 93bb061ac32..90c0061549a 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -2908,7 +2908,6 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
     }
   else if (bidi_it->bracket_pairing_pos != eob)
     {
-      eassert (bidi_it->resolved_level == -1);
       /* If the cached state shows an increase of embedding level due
         to an isolate initiator, we need to update the 1st cached
         state of the next run of the current isolating sequence with
@@ -2917,6 +2916,7 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
       if (bidi_it->level_stack[bidi_it->stack_idx].level > prev_level
          && ISOLATE_STATUS (bidi_it, bidi_it->stack_idx))
        {
+         eassert (bidi_it->resolved_level == -1);
          bidi_record_type_for_neutral (&prev_for_neutral, prev_level, 0);
          bidi_record_type_for_neutral (&next_for_neutral, prev_level, 1);
        }
@@ -2931,6 +2931,7 @@ bidi_resolve_brackets (struct bidi_it *bidi_it)
            }
          else if (bidi_it->bracket_pairing_pos == -1)
            {
+             eassert (bidi_it->resolved_level == -1);
              /* Higher levels were not BPA-resolved yet, even if
                 cached by bidi_find_bracket_pairs.  Force application
                 of BPA to the new level now.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]