diff options
| author | Dmitry Antipov | 2012-09-11 19:42:50 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2012-09-11 19:42:50 +0400 |
| commit | d73e321cc241c0029e6874501cf32ee63643825c (patch) | |
| tree | 457e4314e10ba51343f53a20ac8104d9db6203b2 /src/window.c | |
| parent | 96d0357142bf277e6eb4d957a59b2c655034e2b7 (diff) | |
| download | emacs-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.c')
| -rw-r--r-- | src/window.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/src/window.c b/src/window.c index 4a833a120b3..18a550782e8 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -176,11 +176,6 @@ wset_new_total (struct window *w, Lisp_Object val) | |||
| 176 | w->new_total = val; | 176 | w->new_total = val; |
| 177 | } | 177 | } |
| 178 | static inline void | 178 | static inline void |
| 179 | wset_next_buffers (struct window *w, Lisp_Object val) | ||
| 180 | { | ||
| 181 | w->next_buffers = val; | ||
| 182 | } | ||
| 183 | static inline void | ||
| 184 | wset_normal_cols (struct window *w, Lisp_Object val) | 179 | wset_normal_cols (struct window *w, Lisp_Object val) |
| 185 | { | 180 | { |
| 186 | w->normal_cols = val; | 181 | w->normal_cols = val; |
| @@ -201,11 +196,6 @@ wset_pointm (struct window *w, Lisp_Object val) | |||
| 201 | w->pointm = val; | 196 | w->pointm = val; |
| 202 | } | 197 | } |
| 203 | static inline void | 198 | static inline void |
| 204 | wset_prev_buffers (struct window *w, Lisp_Object val) | ||
| 205 | { | ||
| 206 | w->prev_buffers = val; | ||
| 207 | } | ||
| 208 | static inline void | ||
| 209 | wset_right_fringe_width (struct window *w, Lisp_Object val) | 199 | wset_right_fringe_width (struct window *w, Lisp_Object val) |
| 210 | { | 200 | { |
| 211 | w->right_fringe_width = val; | 201 | w->right_fringe_width = val; |