Implement full support for frame-local `next-buffer' and `previous-buffer'.
authorKaroly Lorentey <lorentey@elte.hu>
Tue, 20 Dec 2005 21:35:03 +0000 (21:35 +0000)
committerKaroly Lorentey <lorentey@elte.hu>
Tue, 20 Dec 2005 21:35:03 +0000 (21:35 +0000)
commita18b8cb5070a81da0659275bef52f77f925644c8
tree4edd0aa560de4dc08c6e10e649909505b0e9f59f
parente93b29568add51c918892153759a1fcd440e85be
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
lisp/simple.el
src/alloc.c
src/buffer.c
src/frame.c
src/frame.h