Mercurial > emacs
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. */