Mercurial > emacs
comparison src/frame.h @ 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 | 46dfd959d88a |
children | 2afc49c9f0c0 |
comparison
equal
deleted
inserted
replaced
83414:14a4eb789b45 | 83415:d2c799f58129 |
---|---|
159 Lisp_Object buffer_predicate; | 159 Lisp_Object buffer_predicate; |
160 | 160 |
161 /* List of buffers viewed in this frame, for other-buffer. */ | 161 /* List of buffers viewed in this frame, for other-buffer. */ |
162 Lisp_Object buffer_list; | 162 Lisp_Object buffer_list; |
163 | 163 |
164 /* List of buffers that were viewed, then buried in this frame. The | |
165 most recently buried buffer is first. For last-buffer. */ | |
166 Lisp_Object buried_buffer_list; | |
167 | |
164 /* A dummy window used to display menu bars under X when no X | 168 /* A dummy window used to display menu bars under X when no X |
165 toolkit support is available. */ | 169 toolkit support is available. */ |
166 Lisp_Object menu_bar_window; | 170 Lisp_Object menu_bar_window; |
167 | 171 |
168 /* A window used to display the tool-bar of a frame. */ | 172 /* A window used to display the tool-bar of a frame. */ |
979 Frame Parameters | 983 Frame Parameters |
980 ***********************************************************************/ | 984 ***********************************************************************/ |
981 | 985 |
982 extern Lisp_Object Qauto_raise, Qauto_lower; | 986 extern Lisp_Object Qauto_raise, Qauto_lower; |
983 extern Lisp_Object Qborder_color, Qborder_width; | 987 extern Lisp_Object Qborder_color, Qborder_width; |
984 extern Lisp_Object Qbuffer_predicate, Qbuffer_list; | 988 extern Lisp_Object Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list; |
985 extern Lisp_Object Qcursor_color, Qcursor_type; | 989 extern Lisp_Object Qcursor_color, Qcursor_type; |
986 extern Lisp_Object Qfont; | 990 extern Lisp_Object Qfont; |
987 extern Lisp_Object Qbackground_color, Qforeground_color; | 991 extern Lisp_Object Qbackground_color, Qforeground_color; |
988 extern Lisp_Object Qicon, Qicon_name, Qicon_type, Qicon_left, Qicon_top; | 992 extern Lisp_Object Qicon, Qicon_name, Qicon_type, Qicon_left, Qicon_top; |
989 extern Lisp_Object Qinternal_border_width; | 993 extern Lisp_Object Qinternal_border_width; |