summaryrefslogtreecommitdiff
path: root/src/window.c
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-09-19 23:10:52 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2012-09-19 23:10:52 -0400
commite99f70c8cd37778d63e2497ed59d64fda720f731 (patch)
tree6f4e267b58da8a5a90dd176679a2643f7e71de6f /src/window.c
parentf75beb4787372df3dcc50cbb07407f45ff04bf04 (diff)
downloademacs-e99f70c8cd37778d63e2497ed59d64fda720f731.tar.gz
* src/alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after*
calling mark_vectorlike since that's the one that marks the window. (mark_discard_killed_buffers): Mark the final cdr. * src/window.h (struct window): Move prev/next_buffers to the non-standard fields. * src/window.c (make_window): Initialize prev/next_buffers manually.
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/window.c b/src/window.c
index fbccab8b358..a6f1104587e 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3462,7 +3462,11 @@ make_window (void)
wset_vertical_scroll_bar_type (w, Qt);
wset_window_end_pos (w, make_number (0));
wset_window_end_vpos (w, make_number (0));
-
+ /* These Lisp fields are marked specially so they're not set to nil by
+ allocate_window. */
+ wset_prev_buffers (w, Qnil);
+ wset_next_buffers (w, Qnil);
+
/* Initialize non-Lisp data. Note that allocate_window zeroes out all
non-Lisp data, so do it only for slots which should not be zero. */
w->nrows_scale_factor = w->ncols_scale_factor = 1;