Mercurial > emacs
diff src/alloc.c @ 83415:d2c799f58129
Implement full support for frame-local `next-buffer' and `previous-buffer'.
* frame.h (frame): New field `buried_buffer_list'.
* alloc.c (mark_object): Mark it.
* frame.c (make_frame): Initialize it.
* frame.h (Qburied_buffer_list): New symbol declaration.
* buffer.c (Fbuffer_list): Handle the buried-buffer-list frame parameter.
* buffer.c (record_buffer): Delete the buffer from the buried_buffer_list.
* buffer.c (Fbury_buffer): Add buffer to buried_buffer_list.
* frame.c (Qburied_buffer_list): New symbol.
(syms_of_frame): Initialize and staticpro it.
(frames_discard_buffer): Also remove buffer from buried-buffer-list.
(store_frame_param): Handle `buried-buffer-list' specially.
(Fframe_parameters): Handle `buried-buffer-list' specially.
* simple.el (last-buffer): Don't look at buried-buffer-list, rely on
`buffer-list' doing that for us.
(next-buffer): Simplify.
(previous-buffer): Simplify.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-455
| author | Karoly Lorentey <lorentey@elte.hu> |
|---|---|
| date | Tue, 20 Dec 2005 21:35:03 +0000 |
| parents | 14a4eb789b45 |
| children | 521d3f18b3d1 |
line wrap: on
line diff
--- a/src/alloc.c Mon Dec 19 19:57:22 2005 +0000 +++ b/src/alloc.c Tue Dec 20 21:35:03 2005 +0000 @@ -5373,6 +5373,7 @@ mark_object (ptr->menu_bar_vector); mark_object (ptr->buffer_predicate); mark_object (ptr->buffer_list); + mark_object (ptr->buried_buffer_list); mark_object (ptr->menu_bar_window); mark_object (ptr->tool_bar_window); mark_face_cache (ptr->face_cache);
