diff src/eval.c @ 353:3b3709405255 r21-1-6

Import from CVS: tag r21-1-6
author cvs
date Mon, 13 Aug 2007 10:55:33 +0200
parents 851ff35f137f
children 8e84bee8ddd0
line wrap: on
line diff
--- a/src/eval.c	Mon Aug 13 10:54:55 2007 +0200
+++ b/src/eval.c	Mon Aug 13 10:55:33 2007 +0200
@@ -3691,7 +3691,6 @@
 			      enum run_hooks_condition cond)
 {
   Lisp_Object sym, val, ret;
-  struct gcpro gcpro1, gcpro2;
 
   if (!initialized || preparing_for_armageddon)
     /* We need to bail out of here pronto. */
@@ -3714,7 +3713,9 @@
     }
   else
     {
-      GCPRO2 (sym, val);
+     struct gcpro gcpro1, gcpro2, gcpro3;
+     Lisp_Object globals = Qnil;
+     GCPRO3 (sym, val, globals);
 
       for (;
 	   CONSP (val) && ((cond == RUN_HOOKS_TO_COMPLETION)
@@ -3726,7 +3727,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))