]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid assertion violations in nhexl-mode
authorEli Zaretskii <eliz@gnu.org>
Sat, 16 Jul 2016 13:42:18 +0000 (16:42 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 16 Jul 2016 13:42:18 +0000 (16:42 +0300)
* src/bidi.c (bidi_resolve_neutral): Convert an assertion to real
code executed in all builds.  (Bug#24001)

src/bidi.c

index 573e513469d9206135994756f4e477f1ae443344..c2208cd12c287a45a781f0d2242cd46f3f50dbf0 100644 (file)
@@ -2977,15 +2977,13 @@ bidi_resolve_neutral (struct bidi_it *bidi_it)
       /* N1-N2/Retaining */
       || type == WEAK_BN)
     {
-      if (bidi_it->next_for_neutral.type != UNKNOWN_BT)
+      if (bidi_it->next_for_neutral.type != UNKNOWN_BT
+         && (bidi_it->next_for_neutral.charpos > bidi_it->charpos
+             /* PDI defines an eos, so it's OK for it to serve as its
+                own next_for_neutral.  */
+             || (bidi_it->next_for_neutral.charpos == bidi_it->charpos
+                 && bidi_it->type == PDI)))
        {
-         /* Make sure the data for resolving neutrals we are
-            about to use is valid.  */
-         eassert (bidi_it->next_for_neutral.charpos > bidi_it->charpos
-                  /* PDI defines an eos, so it's OK for it to
-                     serve as its own next_for_neutral.  */
-                  || (bidi_it->next_for_neutral.charpos == bidi_it->charpos
-                      && bidi_it->type == PDI));
          type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type,
                                         bidi_it->next_for_neutral.type,
                                         current_level);