Mercurial > emacs
view oldXMenu/SetPane.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 | 532e0a9335a9 |
children | d04d8ccb3c41 |
line wrap: on
line source
#include "copyright.h" /* Copyright Massachusetts Institute of Technology 1985 */ /* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. */ /* * XMenu: MIT Project Athena, X Window system menu package * * XMenuSetPane - Set a menu pane to be active or inactive. * * Author: Tony Della Fera, DEC * August, 1985 * */ #include "XMenuInt.h" int XMenuSetPane(menu, p_num, active) register XMenu *menu; /* Menu object to be modified. */ register int p_num; /* Pane number to be modified. */ register int active; /* Make selection active? */ { register XMPane *p_ptr; /* XMPane pointer. */ /* * Find the right pane. */ p_ptr = _XMGetPanePtr(menu, p_num); if (p_ptr == NULL) return(XM_FAILURE); /* * Set its active switch. */ p_ptr->active = active; if (p_ptr->active == False) p_ptr->activated = False; /* * Return the pane number just set. */ _XMErrorCode = XME_NO_ERROR; return(p_num); } /* arch-tag: 90bc8d90-031d-41a2-a2c6-04bf94efbc90 (do not change this comment) */