Raymond Toy <toy(a)rtp.ericsson.se> writes:
I don't recall exactly what I was doing, even though it happened
just
a minute ago. Some general editing and switching between two buffers
when Boom! xemacs crashes.
Here is an untested (but obvious) fix:
1999-08-12 Jan Vroonhof <vroonhof(a)math.ethz.ch>
* eval.c (run_hook_with_args_in_buffer): GCPRO globals.
Index: eval.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/eval.c,v
retrieving revision 1.27.2.2
diff -u -u -r1.27.2.2 eval.c
--- eval.c 1999/06/22 18:02:51 1.27.2.2
+++ eval.c 1999/08/12 17:53:33
@@ -3627,8 +3627,9 @@
}
else
{
- struct gcpro gcpro1, gcpro2;
- GCPRO2 (sym, val);
+ struct gcpro gcpro1, gcpro2, gcpro3;
+ Lisp_Object globals = Qnil;
+ GCPRO3 (sym, val, globals);
for (;
CONSP (val) && ((cond == RUN_HOOKS_TO_COMPLETION)
@@ -3640,7 +3641,7 @@
{
/* t indicates this hook has a local binding;
it means to run the global binding too. */
- Lisp_Object globals = Fdefault_value (sym);
+ globals = Fdefault_value (sym);
if ((! CONSP (globals) || EQ (XCAR (globals), Qlambda)) &&
! NILP (globals))