Mercurial > emacs
view oldXMenu/FindSel.c @ 74525:71bdee7de37e
* wdired.el (wdired-change-to-wdired-mode, wdired-finish-edit)
(wdired-search-and-rename): Simplify code.
(wdired-preprocess-files, wdired-preprocess-perms): Make
read-only property of preceding character rear-nonsticky to
avoid that it can be modified. Put old-name and old-link
properties on character preceding name and replace
put-text-property by add-text-properties.
(wdired-get-filename, wdired-get-previous-link): Get old-name
and old-link properties from character preceding name and
simplify code.
(wdired-preprocess-perms, wdired-set-bit, wdired-toggle-bit)
(wdired-perms-to-number): Make local-map property
rear-nonsticky to avoid that text following permissions may be
modified. Use add-text-properties instead of put-text-property
when changing a permission bit.
(wdired-change-to-dired-mode): Remove stickiness properties.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 09 Dec 2006 16:06:36 +0000 |
parents | e8a3fb527b77 |
children | ce127a46b1ca d04d8ccb3c41 c5406394f567 |
line wrap: on
line source
#include "copyright.h" /* Copyright Massachusetts Institute of Technology 1985 */ /* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. */ /* * 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); } /* arch-tag: 564a4a95-9ab0-4580-b05f-6970c4b25dd4 (do not change this comment) */