1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 11:50:51 -08:00

(mark_perdisplays): New function.

(Fgarbage_collect): Call it.
This commit is contained in:
Karl Heuer 1995-02-03 23:23:34 +00:00
parent a2d3b8ba7c
commit 084b1a0c7d

View file

@ -130,7 +130,7 @@ int stack_copy_size;
/* 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 @@ Garbage collection happens automatically if you cons more than\n\
XMARK (backlist->args[i]);
}
}
mark_perdisplays ();
gc_sweep ();
@ -1777,6 +1778,21 @@ mark_buffer (buf)
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. */