changeset 10649:52cdd8cc8d3e

(mark_perdisplays): New function. (Fgarbage_collect): Call it.
author Karl Heuer <kwzh@gnu.org>
date Fri, 03 Feb 1995 23:23:34 +0000
parents 0871d1c3cb26
children 050a2d62d186
files src/alloc.c
diffstat 1 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/alloc.c	Fri Feb 03 22:21:07 1995 +0000
+++ b/src/alloc.c	Fri Feb 03 23:23:34 1995 +0000
@@ -130,7 +130,7 @@
 /* Non-zero means ignore malloc warnings.  Set during initialization.  */
 int ignore_warnings;
 
-static void mark_object (), mark_buffer ();
+static void mark_object (), mark_buffer (), mark_perdisplays ();
 static void clear_marks (), gc_sweep ();
 static void compact_strings ();
 
@@ -1358,6 +1358,7 @@
 	    XMARK (backlist->args[i]);
 	  }
     }  
+  mark_perdisplays ();
 
   gc_sweep ();
 
@@ -1777,6 +1778,21 @@
       mark_buffer (base_buffer);
     }
 }
+
+
+/* Mark the pointers in the perdisplay objects.  */
+
+static void
+mark_perdisplays ()
+{
+  PERDISPLAY *perd;
+  for (perd = all_perdisplays; perd; perd = perd->next_perdisplay)
+    {
+      mark_object (&perd->Vprefix_arg);
+      mark_object (&perd->Vcurrent_prefix_arg);
+      mark_object (&perd->kbd_buffer_frame_or_window);
+    }
+}
 
 /* Sweep: find all structures not marked, and free them. */