(mark_backtrace): New function.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 28 May 2004 20:54:39 +0000 (20:54 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 28 May 2004 20:54:39 +0000 (20:54 +0000)
src/eval.c

index 0326a82..921a753 100644 (file)
@@ -3242,6 +3242,25 @@ If NFRAMES is more than the number of frames, the value is nil.  */)
 }
 
 \f
+void
+mark_backtrace ()
+{
+  register struct backtrace *backlist;
+  register int i;
+
+  for (backlist = backtrace_list; backlist; backlist = backlist->next)
+    {
+      mark_object (*backlist->function);
+
+      if (backlist->nargs == UNEVALLED || backlist->nargs == MANY)
+       i = 0;
+      else
+       i = backlist->nargs - 1;
+      for (; i >= 0; i--)
+       mark_object (backlist->args[i]);
+    }
+}
+
 void
 syms_of_eval ()
 {