I forgot to mention that as far as I can tell, this only happens under
pdump.
-- Matt Tucker <tuck(a)whistlingfish.net> spake thusly:
-- Steve Youngs <youngs(a)xemacs.org> spake thusly:
> Without the old font-lock.el XEmacs just sits there eating up the CPU
> whenever it tries to fontify anything. It doesn't crash, but nothing
> can be done until after repeated C-g's.
I've isolated this bug, but I'm not sure how to fix it. The problem is
the following line in syntax.c:
scan_sexps_forward (buf, &state, start, end,
target, !NILP (stopbefore), oldstate,
(NILP (commentstop)
? 0 : (EQ (commentstop, Qsyntax_table) ? -1 : 1)));
Specifically, "EQ (commentstop, Qsyntax_table)" is evaluating false,
even when 'syntax-table is passed in. If I apply this patch:
--- syntax.c 2001/02/09 16:00:37 1.7.2.18
+++ syntax.c 2001/02/16 02:48:06
@@ -1928,6 +1928,9 @@
struct buffer *buf = decode_buffer (buffer, 0);
Lisp_Object val;
+ if (EQ (Qsyntax_table, Qnull_pointer))
+ Qsyntax_table = intern ("syntax-table");
+
if (!NILP (targetdepth))
{
CHECK_INT (targetdepth);
it fixes the bug. Obviously this isn't an acceptable solution, but why
is Qsyntax_table == 0 when I do the following in vars_of_syntax?
Qsyntax_table = intern ("syntax-table");
Comments, anyone?