Fix search assertion failure
Michael Sperber
sperber at deinprogramm.de
Sat Feb 9 11:25:50 EST 2008
Aidan, could you look at this?
search.c, about line 1441:
do
{
translated = TRANSLATE (inverse_trt, translated);
if (charset_base == (translated & ~ICHAR_FIELD3_MASK))
break;
} while (starting_ch != translated);
assert (starting_ch != translated);
It seems to me (not really understanding the details of all this
translation and inverse translation business) that the assertion is
bogus: It mirrors the loop condition, yet there's a break statement in
the loop right before. (And that's exactly what's getting triggered for
me.) So I suggest just zapping it. At least what used to crash my
XEmacs now works.
I'll push this on Monday if nobody objects.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
-------------- next part --------------
changeset: 4420:c46eedac47ed
tag: tip
user: Mike Sperber <sperber at deinprogramm.de>
date: Sat Feb 09 17:17:27 2008 +0100
files: src/ChangeLog src/search.c
description:
2008-02-09 Mike Sperber <mike at xemacs.org>
* search.c (search_buffer): Remove bogus assertion.
diff --git a/src/ChangeLog b/src/ChangeLog
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@ 2008-02-03 Jerry James <james at xemacs.o
+2008-02-09 Mike Sperber <mike at xemacs.org>
+
+ * search.c (search_buffer): Remove bogus assertion.
+
2008-02-03 Jerry James <james at xemacs.org>
* redisplay.c (generate_displayable_area): If a line has been
diff --git a/src/search.c b/src/search.c
--- a/src/search.c
+++ b/src/search.c
@@ -1441,8 +1441,6 @@ search_buffer (struct buffer *buf, Lisp_
break;
} while (starting_ch != translated);
-
- assert (starting_ch != translated);
new_bytelen = set_itext_ichar (tmp_str, translated);
}
More information about the XEmacs-Patches
mailing list