view oldXMenu/FindSel.c @ 26989:340ed24f202a

Generally, synch w/ maintainer version 5.9. (hs-show-hidden-short-form): Delete var; hard-code uses as `t'. (hs-minor-mode-hook): Don't initialize. (hs-special-modes-alist): Rewrite value and docstring. (hs-minor-mode-prefix): Delete unused var. (hs-block-start-mdata-select): New var, buffer local. (hs-headline): New var. (hs-match-data, hs-forward-sexp): New funcs. (hs-hide-comment-region): New func. (hs-discard-overlays, hs-flag-region, hs-hide-block-at-point, hs-safety-is-job-n, hs-hide-initial-comment-block, hs-inside-comment-p, hs-grok-mode-type, hs-find-block-beginning, hs-hide-level-recursive, hs-life-goes-on, hs-already-hidden-p, hs-c-like-adjust-block-beginning, hs-hide-all, hs-show-all, hs-hide-block, hs-show-block, hs-show-region, hs-hide-level, hs-mouse-toggle-hiding, hs-minor-mode): Rewrite. (hs-isearch-show): Renamed from `hs-isearch-open-invisible'. (hs-isearch-show-temporary): New funcs. (hs-show-block-at-point, java-hs-forward-sexp): Delete funcs. (hs-hide-all, hs-mouse-toggle-hiding): Don't autoload. When constructing menu, use `[(shift button2)]' notation.
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Sun, 26 Dec 1999 11:03:32 +0000
parents bbce331da1be
children 695cf19ef79e d7ddb3e565de
line wrap: on
line source

#include "copyright.h"

/* $Header: /u/src/emacs/19.0/oldXMenu/RCS/FindSel.c,v 1.1 1992/04/11 22:10:19 jimb Exp $ */
/* Copyright    Massachusetts Institute of Technology    1985	*/

/*
 * XMenu:	MIT Project Athena, X Window system menu package
 *
 *	XMenuFindSelection - Find the first selection in a pane who's
 *			     label matches a particular string.
 *
 *	Author:		Tony Della Fera, DEC
 *			January 22, 1986
 *
 */

#include "XMenuInt.h"

int
XMenuFindSelection(menu, p_num, label)
    register XMenu *menu;
    int p_num;
    register char *label;
{
    register XMPane *p_ptr;
    register XMSelect *s_ptr;
    register int i = 0;

    /*
     * Check for NULL pointers!
     */
    if (label == NULL) {
	_XMErrorCode = XME_ARG_BOUNDS;
	return(XM_FAILURE);
    }

    /*
     * Find the right pane.
     */
    p_ptr = _XMGetPanePtr(menu, p_num);
    if (p_ptr == NULL) return(XM_FAILURE);

    /*
     * Find the right selection.
     */
    for (
	s_ptr = p_ptr->s_list->next;
	s_ptr != p_ptr->s_list;
	s_ptr = s_ptr->next
    ){
	if (s_ptr->label_length == 0) {
	    if (*label == '\0') {
		_XMErrorCode = XME_NO_ERROR;
		return (i);
	    }
	}
	else {
	    if (strncmp (label, s_ptr->label, s_ptr->label_length) == 0) {
		_XMErrorCode = XME_NO_ERROR;
		return (i);
	    }
	}
	i++;
    }

    /*
     * If we get here then we have not found
     * a match.
     */
    _XMErrorCode = XME_S_NOT_FOUND;
    return (XM_FAILURE);
}