emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117865: * lread.c (readevalloop_eager_expand_eval):


From: Dmitry Antipov
Subject: [Emacs-diffs] trunk r117865: * lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
Date: Thu, 11 Sep 2014 13:02:41 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117865
revision-id: address@hidden
parent: address@hidden
committer: Dmitry Antipov <address@hidden>
branch nick: trunk
timestamp: Thu 2014-09-11 17:02:09 +0400
message:
  * lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
  bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/lread.c                    lread.c-20091113204419-o5vbwnq5f7feedwu-266
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-09-11 09:14:45 +0000
+++ b/src/ChangeLog     2014-09-11 13:02:09 +0000
@@ -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  <address@hidden>
 
        Pacify --enable-gcc-warnings when no window system is used.

=== modified file 'src/lread.c'
--- a/src/lread.c       2014-09-07 07:04:01 +0000
+++ b/src/lread.c       2014-09-11 13:02:09 +0000
@@ -1782,15 +1782,17 @@
   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;
 }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]