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) */