>>>> "Matt" == Matt Tucker
<tuck(a)whistlingfish.net> writes:
Matt> -- Steve Youngs <youngs(a)xemacs.org> spake thusly:
> Currently, I have to use an old version of font-lock.el and a
locally
> patched version of autoload.el just to get through my day.
>
> 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.
>
> And I can't build the packages with the current autoload.el. I get an
> "Unbalanced Parentheses" error when trying to create auto-autoloads.
>
> I'm pretty sure that both of these things are related to Matt Tucker's
> recent syntax-table tom-foolery (no offense Matt, I'm angry at my
> computer, not you).
>
> Matt, could you please, please fix this.
Matt> I'll certainly try.
Matt> I assume the patch to autoload.el is the one I suggested? Is it worth
Matt> committing it until I can figure out why the behavior changed? I
Matt> haven't really had time to look at it, as I've been working on cleaning
Matt> up issues involving mule and high-bit characters.
If you can't get this fixed soon, we should consider reverting the
patch until it is fixed.
Matt: consider adding some test cases to the test suite.
Matt> As for the new font-lock.el chewing up the CPU, I haven't been able to
Matt> reproduce this. Could you possibly point me in the right direction?
Matt> (Either send me your (describe-installation) output, or dump XEmacs
Matt> while the CPU is hung and give me a stack backtrace; or both.) I'd like
Matt> to get this fixed; I just need somewhere to start.
Here's a start. Hung while font-locking.
dbx> [1] _p1020static(0x0, 0xbd8e0000, 0x0, 0x4, 0xfd019280, 0x4), at 0x251ffc
[2] _p_fn_exit_v9(0xffbeaff4, 0xffbeafe8, 0xffbeafe4, 0x11, 0x0, 0x4), at 0xcb2d30
=>[3] put_text_prop_mapper(e = 0x22b25c4, arg = 0xffbeb1a0), line 6317 in
"/project/xemacs/ws/dev/src/extents.c"
[4] map_extents_bytind(from = 1, to = 2, fn = 0x61aac8 =
&`./xemacs`extents.c`put_text_prop_mapper(EXTENT e, void *arg), arg = 0xffbeb1a0, obj
= UNION, after = (nil), flags = 5125U), line 2257 in
"/project/xemacs/ws/dev/src/extents.c"
[5] put_text_prop(start = 1, end = 2, object = UNION, prop = UNION, value = UNION,
duplicable_p = 0), line 6392 in "/project/xemacs/ws/dev/src/extents.c"
[6] Fput_nonduplicable_text_property(start = UNION, end = UNION, prop = UNION, value =
UNION, object = UNION), line 6467 in "/project/xemacs/ws/dev/src/extents.c"
[7] Ffuncall(nargs = 5, args = 0xffbeb3bc), line 3528 in
"/project/xemacs/ws/dev/src/eval.c"
[8] execute_optimized_program(program = 0x22c50d8 "^N^_?\x855^A^N
\xab^Q^K^MZ^N!Y\xab^I\xc6\xc7\xc8\xc9\xca
$\x88^Mb\x88\xcb^N"!\xcc^N^[!\xcd\x89\x89\x89^^^Y^Y^X^\^^^X^^^\^M^N^Xa\xab^F^N^Z^T\xaa4^N^]\xac^^^N^X\xab^G^M^N^XW\xab^H\xcee^M"^T\xaa^V\xce^N^X^M\xcd\x89^N^Z%^T\xaa\n^N^]
\x88\xce`^M"^T^L^V^Z^N^[^M\xcd\x93\x88\xcf^L8\xac^F\xd0^L8\xab.\xcf^L8^P`^Q\xce`^K\xcd\x89^L\xd1&^F^T^I`^H\xab^E^N^W\xaa^C^N^^^Z^[^]\xd2^M^K\xc2\n$\x88\xd2^M^K\xc7\xd3$\x88+`^KW\x85\x8c",
stack_depth = 7, constants_data = 0x1aeb8e0), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[9] funcall_compiled_function(fun = UNION, nargs = 3, args = 0xffbeb6c8), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[10] Ffuncall(nargs = 4, args = 0xffbeb6c4), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[11] execute_optimized_program(program = 0x22c4fc8 "\xc6 \xc7\x89\xc8
\xc9\x89^Y^X^^^P^^^Q^^^R^^^S\xca\x8e^K\xab^E\xcb^K!\x88\xcc^M^L"\x88^N^T\xab^F\xcd^M^L"\x88^N^U\xac^G\xce^M^L\n#\x88\xcf^M^L\n#.^G\x87",
stack_depth = 6, constants_data = 0x1c7aa68), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[12] funcall_compiled_function(fun = UNION, nargs = 3, args = 0xffbeb9d0), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[13] Ffuncall(nargs = 4, args = 0xffbeb9cc), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[14] execute_optimized_program(program = 0x22c4ef0 "^K\n^I^H#\x87",
stack_depth = 4, constants_data = 0x1aafea8), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[15] funcall_compiled_function(fun = UNION, nargs = 2, args = 0xffbebcd0), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[16] Ffuncall(nargs = 3, args = 0xffbebccc), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[17] execute_optimized_program(program = 0xffbebdf8
"\x8a\xc0ed"\x88)\xc0\x87\xb9", stack_depth = 3, constants_data =
0x198e168), line 746 in "/project/xemacs/ws/dev/src/bytecode.c"
[18] Fbyte_code(instructions = UNION, constants = UNION, stack_depth = UNION), line 2405
in "/project/xemacs/ws/dev/src/bytecode.c"
[19] Feval(form = UNION), line 3331 in "/project/xemacs/ws/dev/src/eval.c"
[20] condition_case_1(handlers = UNION, bfun = 0x3e8540 = &Feval(Lisp_Object form),
barg = UNION, hfun = 0x3d8ea8 =
&`./xemacs`eval.c`run_condition_case_handlers(Lisp_Object val, Lisp_Object var), harg
= UNION), line 1651 in "/project/xemacs/ws/dev/src/eval.c"
[21] condition_case_3(bodyform = UNION, var = UNION, handlers = UNION), line 1732 in
"/project/xemacs/ws/dev/src/eval.c"
[22] execute_rare_opcode(stack_ptr = 0xffbec1fc, program_ptr = 0x22c4547
"\x88^K\xac^H\xc7^X\xc2\xc6!\x88)\xcd\xc0!\xcaL\x88^L\xab^L^M\xab^I\xce\xcf\xd0\xd1\xd2
$\x88,\xd3\xd4!)\x87ode ", opcode = Bcondition_case), line 1271 in
"/project/xemacs/ws/dev/src/bytecode.c"
[23] execute_optimized_program(program = 0x22c4528
"\x8c~\x88\n^M\xae^Bt\xc6\xc7^\^Y^]\x89^[\xac^E\xc2\xc8!\x88\xc9ed\xca#\x88\xc7\xcb\xcc\x8f\x88^K\xac^H\xc7^X\xc2\xc6!\x88)\xcd\xc0!\xcaL\x88^L\xab^L^M\xab^I\xce\xcf\xd0\xd1\xd2
$\x88,\xd3\xd4!)\x87ode ", stack_depth = 6, constants_data = 0x1c7a260), line 656 in
"/project/xemacs/ws/dev/src/bytecode.c"
[24] funcall_compiled_function(fun = UNION, nargs = 0, args = 0xffbec508), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[25] Ffuncall(nargs = 1, args = 0xffbec504), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[26] execute_optimized_program(program = 0x21968a0 "^I\xae^Bt^Y^H )\x87",
stack_depth = 1, constants_data = 0x1aaf988), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[27] funcall_compiled_function(fun = UNION, nargs = 0, args = 0xffbec7f8), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[28] Ffuncall(nargs = 1, args = 0xffbec7f4), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[29] execute_optimized_program(program = 0x20f68b0
"^I\xab^H\xc6^I!\xc7V\xaa^C^H?^L:\xac^D^L\xaa^K^N!^L\xb7\xae^D\xc8^L\xb7A^[^]^N"\xac^I\xc9
\xc7H\xcaa\xab^C\xcb^U\xc9
\xcck\xab^C\xcb^U^M\xab^S\xcd\xce!\x88\xcf\xce\xd0\xcb\xc8$\x88\xcf\xd1\xd2"\x88\xaa^M\xd3\xce\xd0\xc8#\x88\xcb\x89^V#^V$\xd4\xc0!^ML\x88^M\xab'\xd5
\x88\xd6\xd7!\x88\n\xac/^K\xab^G\xd8 ^KX\xab^F\xd9 \x88\xaa!^N%\xab^]\xda\xdb\xdc\xdd\xc9
$\x88\xaa^S\n\xab^M\xcb^R\xdeed"\x88\xdf \x88\xaa^D\xdf \x88\xe0 *\x87strin",
stack_depth = 6, constants_data = 0x1ba95c8), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[30] funcall_compiled_function(fun = UNION, nargs = 1, args = 0xffbecb00), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[31] Ffuncall(nargs = 2, args = 0xffbecafc), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[32] execute_optimized_program(program = 0x20f67d8 "\xc0\xc1!\x87have",
stack_depth = 2, constants_data = 0x1ba9810), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[33] funcall_compiled_function(fun = UNION, nargs = 0, args = 0xffbecdf8), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[34] Ffuncall(nargs = 1, args = 0xffbecdf4), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[35] execute_optimized_program(program = 0x20f3c68
"\xc6\xc7!\xad^Y^L\xab^G^M^Ks?\xaa^D^M\ns\xad^K\xc8^I!\xad^F^H\xad^C\xc9
\x87di", stack_depth = 2, constants_data = 0xfd16aa28), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[36] funcall_compiled_function(fun = UNION, nargs = 0, args = 0xffbed38c), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[37] Ffuncall(nargs = 1, args = 0xffbed388), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[38] run_hook_with_args_in_buffer(buf = 0x22df6f0, nargs = 1, args = 0xffbed388, cond =
RUN_HOOKS_TO_COMPLETION), line 4020 in "/project/xemacs/ws/dev/src/eval.c"
[39] run_hook_with_args(nargs = 1, args = 0xffbed388, cond = RUN_HOOKS_TO_COMPLETION),
line 4033 in "/project/xemacs/ws/dev/src/eval.c"
[40] Frun_hooks(nargs = 1, args = 0xffbed388), line 3887 in
"/project/xemacs/ws/dev/src/eval.c"
[41] Ffuncall(nargs = 2, args = 0xffbed384), line 3549 in
"/project/xemacs/ws/dev/src/eval.c"
[42] execute_optimized_program(program = 0x1c61790 "\xc6^M!?^T^H\x84\x83",
stack_depth = 5, constants_data = 0xfd181e54), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[43] funcall_compiled_function(fun = UNION, nargs = 2, args = 0xffbed688), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[44] Ffuncall(nargs = 3, args = 0xffbed684), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[45] execute_optimized_program(program = 0xffbed7b0 "\xc6^L!\x88^Lq\x88\xc7
\x88\xc8\xc9\xca\x8f\x88^K\xac^C\n^S^I^P^N^Q\xab^E\xcb^M!^U\xcc^M!^V^R^N^S^M!\xac^H\xcd\xce!\x88\xcf^V^N^N^T\xac^K\xd0^N^U^N^V?"\x88p^T\xc8\x87",
stack_depth = 3, constants_data = 0xfd181c1c), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[46] Fbyte_code(instructions = UNION, constants = UNION, stack_depth = UNION), line 2405
in "/project/xemacs/ws/dev/src/bytecode.c"
[47] Feval(form = UNION), line 3331 in "/project/xemacs/ws/dev/src/eval.c"
[48] condition_case_1(handlers = UNION, bfun = 0x3e8540 = &Feval(Lisp_Object form),
barg = UNION, hfun = 0x3d8ea8 =
&`./xemacs`eval.c`run_condition_case_handlers(Lisp_Object val, Lisp_Object var), harg
= UNION), line 1651 in "/project/xemacs/ws/dev/src/eval.c"
[49] condition_case_3(bodyform = UNION, var = UNION, handlers = UNION), line 1732 in
"/project/xemacs/ws/dev/src/eval.c"
[50] execute_rare_opcode(stack_ptr = 0xffbedc54, program_ptr = 0x22dceb4
"\x88)^L,\x87", opcode = Bcondition_case), line 1271 in
"/project/xemacs/ws/dev/src/bytecode.c"
[51] execute_optimized_program(program = 0x22dcdd8
"\xc6\xc7^M!!^U\xc8^M!\xab^]\xc9\xca!\xab^S^N+\xab^O\xca^K\xab^H\xc6\xcb^M!!\xaa^B^M!\x87\xcc\xcd^M"\x87\xce^M!^\\xc6\xcb^M!!^Z\xcf\xd0\n!\x9b^^,\xd1^^^L^L\xab^]^N-\xac^D^K\xab^V^I\xac^S\x8a^Lq\x88^H^M\x98\xac^I\xd2\xd3^M^H^N.$\x88)^L\xabw^I\xac^?\xd4^L!\xacz\xd5^M!\xac^H\xcc\xd6^M"\x88\xaan\xd7^L!\xac^\\xd8\xd9\x8d\xab^Wr^Lq\x88\xd2\xda^M"\x88\xdb\xdc\x89"\x88\xd2\xdd^M"\x88)\xaaN\xde\xdf^M!\xe0^L!\x98\xab^U\xe1\xd7^L!\xab^F\xe2\xe3!\xaa^D\xe2\xe4!\xdf^M!"\xaa^V\xe1\xd7^L!\xab^F\xe2\xe5!\xaa^D\xe2\xe6!\xdf^M!\xe0^L!#!\xab^Xr^Lq\x88\xdb\xdc\x89"\x88)\xaa^L\x8a\xe7^M!^T\xe8\xe9\xea\x8f\x88)^L,\x87",
stack_depth = 6, constants_data = 0xfd1928d4), line 656 in
"/project/xemacs/ws/dev/src/bytecode.c"
[52] funcall_compiled_function(fun = UNION, nargs = 1, args = 0xffbedf64), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[53] Ffuncall(nargs = 2, args = 0xffbedf60), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[54] execute_optimized_program(program = 0x22dccf0
"\n\xab^L\xc3\n!^X\xc4\xc5^I!!)\x87\xc4\xc5^I!!\x87", stack_depth = 3,
constants_data = 0xfd192c40), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[55] funcall_compiled_function(fun = UNION, nargs = 1, args = 0xffbee258), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[56] Ffuncall(nargs = 2, args = 0xffbee254), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[57] execute_optimized_program(program = 0x22dc800 "\n\xac@^N!?\x85\xd1",
stack_depth = 7, constants_data = 0xfd17703c), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[58] funcall_compiled_function(fun = UNION, nargs = 0, args = 0xffbee560), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[59] Ffuncall(nargs = 1, args = 0xffbee55c), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[60] execute_optimized_program(program = 0x16e4c70
"^KA^]\xc6\xc7^Z^Y\xc8^M!^U\xc9\xca!\xab^D\xcb
\x88^L\xab^N^H\xac^K\xcc\xcd\xce^L!\xcfQ! \x88\xd0 \x88*\xd1 \x88\xd2
\x88r\xd3\xd4!q\x88\xd5 \x88\xd6\xd7!\x88^N^^\xd8a\xab^E^N^_ \x88)\xd9 \xdaa\xab^H\xc0
\xac^D\xdb \x88\xdc \x88\xd7^V \xc0 \xad^D\xdd\xc7!)\x87", stack_depth = 4,
constants_data = 0xfd17798c), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[61] funcall_compiled_function(fun = UNION, nargs = 0, args = 0xffbee860), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[62] Ffuncall(nargs = 1, args = 0xffbee85c), line 3563 in
"/project/xemacs/ws/dev/src/eval.c"
[63] execute_optimized_program(program = 0xe25f50 "^I\xab^E\xc6\xc7!\x87\xc8^Q\xc9
\x89^\\xab^U^LG^MGW\xab^N\xca^M!\xca^L!k\xab^E\xcb^L!^U)\xcc^M!^U\xcd \x88\xce
\x88^K\xae^G\xcf\xd0!\xad^B\xc8^[\xd1^N#^N$"^R^K\xab^I\xd2\xd3\xd4\n"\xd5"\x88\n\xac^D\xd6
\x88\xd7\n^N%^H^N&^K%\x88\xd8
\x88)^N!\xac^R^N"\xab^N\xd9\xda\xdb^N'!^N""\xdc\xc8#\x88^N!\xac^S^H\xac^F\xdd^N(!\x88\xdd^N)!\x88\xdd^N*!\x88\xde\x8e\xdf
\x88)^N+\xad^C\xe0 \x87", stack_depth = 7, constants_data = 0xfd1780bc), line 746 in
"/project/xemacs/ws/dev/src/bytecode.c"
[64] funcall_compiled_function(fun = UNION, nargs = 0, args = 0xffbeea50), line 518 in
"/project/xemacs/ws/dev/src/bytecode.c"
[65] Feval(form = UNION), line 3388 in "/project/xemacs/ws/dev/src/eval.c"
[66] condition_case_1(handlers = UNION, bfun = 0x3e8540 = &Feval(Lisp_Object form),
barg = UNION, hfun = 0x310530 = &`./xemacs`cmdloop.c`cmd_error(), harg = UNION), line
1651 in "/project/xemacs/ws/dev/src/eval.c"
[67] top_level_1(dummy = UNION), line 206 in
"/project/xemacs/ws/dev/src/cmdloop.c"
[68] internal_catch(tag = UNION, func = 0x310758 =
&`./xemacs`cmdloop.c`top_level_1(Lisp_Object dummy), arg = UNION, threw = (nil)), line
1317 in "/project/xemacs/ws/dev/src/eval.c"
[69] initial_command_loop(load_me = UNION), line 285 in
"/project/xemacs/ws/dev/src/cmdloop.c"
[70] xemacs_21_2_b44_sparc_sun_solaris2_7(argc = 2, argv = 0xffbeef7c, envp =
0xffbeef88, restart = 0), line 2253 in "/project/xemacs/ws/dev/src/emacs.c"
[71] main(argc = 2, argv = 0xffbeef7c, envp = 0xffbeef88), line 2620 in
"/project/xemacs/ws/dev/src/emacs.c"
dbx> lbt
# (unwind-protect ...)
put-nonduplicable-text-property(1 2 face font-lock-comment-face)
# bind (start end face lisp-like cache state string beg depth loudly end start)
font-lock-fontify-syntactically-region(1 5328 nil)
# (unwind-protect ...)
# bind (modified buffer-undo-list inhibit-read-only old-syntax-table buffer-file-name
buffer-file-truename loudly end beg)
font-lock-default-fontify-region(1 5328 nil)
# bind (loudly end beg)
font-lock-fontify-region(1 5328)
# (unwind-protect ...)
byte-code("..." [font-lock-fontify-region] 3)
# (condition-case ... . ((t (byte-code "���" ... 2))))
# bind (was-on font-lock-verbose font-lock-message-threshold aborted)
# (unwind-protect ...)
font-lock-default-fontify-buffer()
# bind (font-lock-verbose)
font-lock-fontify-buffer()
# bind (on-p maximum-size arg)
font-lock-mode(1)
turn-on-font-lock()
# bind (explicit-defaults)
font-lock-set-defaults()
run-hooks(font-lock-set-defaults)
# bind (nomodes after-find-file-from-revert-buffer noauto warn error)
after-find-file(nil t)
byte-code("..." [buffer-file-number number truename buffer-file-truename buf
buffer-file-name set-buffer-major-mode erase-buffer nil (byte-code
"��� �\"���� �\"���" [rawfile filename insert-file-contents-literally
t insert-file-contents] 3) ((file-error ...)) abbreviate-file-name file-name-directory
make-local-variable backup-inhibited t after-find-file find-file-use-truenames
default-directory backup-enable-predicate rawfile error nowarn] 3)
# (condition-case ... . ((t (byte-code "�!�� @ A\"�" ... 3))))
# (unwind-protect ...)
# bind (error number truename buf rawfile nowarn filename)
find-file-noselect("/project/xemacs/import/xemacs-aux/Makefile")
# bind (codesys filename)
find-file("/project/xemacs/import/xemacs-aux/Makefile")
# bind (dir file-count line end-of-options file-p arg tem)
command-line-1()
# bind (command-line-args-left)
command-line()
# (unwind-protect ...)
normal-top-level()
# (condition-case ... . error)
# (catch top-level ...)
stopped in _p1020static at 0x251ffc
0x00251ffc: _p1020static+0x0030: tst %o0
Current function is put_text_prop_mapper
6317 }