aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.h
diff options
context:
space:
mode:
authorDmitry Antipov2012-09-11 19:42:50 +0400
committerDmitry Antipov2012-09-11 19:42:50 +0400
commitd73e321cc241c0029e6874501cf32ee63643825c (patch)
tree457e4314e10ba51343f53a20ac8104d9db6203b2 /src/window.h
parent96d0357142bf277e6eb4d957a59b2c655034e2b7 (diff)
downloademacs-d73e321cc241c0029e6874501cf32ee63643825c.tar.gz
emacs-d73e321cc241c0029e6874501cf32ee63643825c.zip
Discard killed buffers from deleted window and frame objects.
This reduces an amount of references to killed buffers and helps GC to reclaim them faster. * alloc.c (discard_killed_buffers): New function. (mark_object): Use it for deleted windows and frames. (mark_object): If symbol's value is set up for a killed buffer or deleted frame, restore it's global binding. * data.c (swap_in_global_binding): Add GC notice. (swap_in_symval_forwarding): Use convenient set_blv_where. * window.c (wset_next_buffers, wset_prev_buffers): Move ... * window.h: ... to here.
Diffstat (limited to 'src/window.h')
-rw-r--r--src/window.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/window.h b/src/window.h
index a70bc55bac5..62ae43a999d 100644
--- a/src/window.h
+++ b/src/window.h
@@ -414,7 +414,16 @@ wset_window_end_vpos (struct window *w, Lisp_Object val)
414{ 414{
415 w->window_end_vpos = val; 415 w->window_end_vpos = val;
416} 416}
417 417WINDOW_INLINE void
418wset_prev_buffers (struct window *w, Lisp_Object val)
419{
420 w->prev_buffers = val;
421}
422WINDOW_INLINE void
423wset_next_buffers (struct window *w, Lisp_Object val)
424{
425 w->next_buffers = val;
426}
418 427
419/* 1 if W is a minibuffer window. */ 428/* 1 if W is a minibuffer window. */
420 429