]> git.eshelyaron.com Git - emacs.git/commitdiff
* lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
authorDmitry Antipov <dmantipov@yandex.ru>
Thu, 11 Sep 2014 13:02:09 +0000 (17:02 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Thu, 11 Sep 2014 13:02:09 +0000 (17:02 +0400)
bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.

src/ChangeLog
src/lread.c

index 05ec1514f42f203873b2a0bccd269ea80b6f6d33..202b5f22e9dadaada9dbc235973f4275bd2c04a3 100644 (file)
@@ -8,6 +8,9 @@
        (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, GCPRO7):
        Minor restyle.  If DEBUG_GCPRO, initialize extra fields.
 
+       * lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
+       bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
+
 2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        Pacify --enable-gcc-warnings when no window system is used.
index 21046774cb8c357eb70833c1ecec97c186960aab..f32b60ad5881d2f9d025a5f92963072a6dd208b2 100644 (file)
@@ -1782,15 +1782,17 @@ readevalloop_eager_expand_eval (Lisp_Object val, Lisp_Object macroexpand)
   val = call2 (macroexpand, val, Qnil);
   if (EQ (CAR_SAFE (val), Qprogn))
     {
+      struct gcpro gcpro1;
       Lisp_Object subforms = XCDR (val);
-      val = Qnil;
-      for (; CONSP (subforms); subforms = XCDR (subforms))
+
+      GCPRO1 (subforms);
+      for (val = Qnil; CONSP (subforms); subforms = XCDR (subforms))
           val = readevalloop_eager_expand_eval (XCAR (subforms),
                                                 macroexpand);
+      UNGCPRO;
     }
   else
       val = eval_sub (call2 (macroexpand, val, Qt));
-
   return val;
 }