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;