Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
authorDmitry Antipov <dmantipov@yandex.ru>
Mon, 14 Jan 2013 11:07:50 +0000 (15:07 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Mon, 14 Jan 2013 11:07:50 +0000 (15:07 +0400)
* eval.c (eval_sub): Protect `form' from being GCed before its
car and cdr becomes protected with the backtrace entry.

src/ChangeLog
src/eval.c

index 098d3ae..2445027 100644 (file)
@@ -1,3 +1,9 @@
+2013-01-14  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
+       * eval.c (eval_sub): Protect `form' from being GCed before its
+       car and cdr becomes protected with the backtrace entry.
+
 2013-01-14  Dmitry Antipov  <dmantipov@yandex.ru>
 
        Make Lisp_Save_Value more versatile storage for up to four objects.
index c49f8e8..030bf14 100644 (file)
@@ -1931,7 +1931,10 @@ eval_sub (Lisp_Object form)
     return form;
 
   QUIT;
+
+  GCPRO1 (form);
   maybe_gc ();
+  UNGCPRO;
 
   if (++lisp_eval_depth > max_lisp_eval_depth)
     {