Ar an t-ochtú lá is fiche de mí Eanair, scríobh Michael Sperber:
This causes serious breakage for me: Searching for, say, a word
containing an ß ("eszet"), crashes:
(gdb) bt
#0 0x9003d66c in kill ()
#1 0x9010e8cf in raise ()
#2 0x9010d422 in abort ()
#3 0x00060660 in really_abort () at emacs.c:4693
#4 0x0005ed64 in assert_failed (file=0x29eb40 "search.c", line=1746,
expr=0x29eff8 "charset_base == (untranslated & ~ICHAR_FIELD3_MASK)") at
emacs.c:3987
#5 0x001ca6c6 in boyer_moore (buf=0x20d5c00, base_pat=0xbfffa6b0 "fleiß",
len=6, pos=289, lim=395, n=1, trt=4644940, inverse_trt=4643748, charset_base=0) at
search.c:1746
#6 0x001c99bb in search_buffer (buf=0x20d5c00, string=33883876, charbpos=289,
buflim=395, n=1, RE=0, trt=4644940, inverse_trt=4643748, posix=0) at search.c:1457
#7 0x001c8bc0 in search_command (string=33883876, limit=3148476, noerror=3147204,
count=3148476, buffer=3148476, direction=1, RE=0, posix=0) at search.c:1155
#8 0x001cb9f4 in Fsearch_forward (string=33883876, limit=3148476, noerror=3147204,
count=3148476, buffer=3148476) at search.c:2252
Aidan, could you look into this?
Taking out the assert() will solve it. It shouldn’t be there; it is kosher
to have characters from character sets of varying length in the search
string and to expect Boyer-Moore to work. The incompatibility arises when
*individual* characters in the search string have case variants of differing
lengths.
I’ll make that change and add your example as a test tomorrow.
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches