annotate oldXMenu/FindPane.c @ 99492:ee792794d888

(isearch-search-fun): Compare the length of the current search string with the length of the string from the previous search state to detect the situation when the user adds or removes characters in the search string. Use word-search-forward-lax and word-search-backward-lax in this case, and otherwise word-search-forward and word-search-backward.
author Juri Linkov <juri@jurta.org>
date Tue, 11 Nov 2008 19:43:09 +0000
parents fec5e03aaf59
children edf631bdbb7a ec58e5c426ef 5cc91198ffb2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
76174
fec5e03aaf59 Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
1 /* Copyright Massachusetts Institute of Technology 1985 */
fec5e03aaf59 Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
2
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
3 #include "copyright.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
4
Dave Love <fx@gnu.org>
parents:
diff changeset
5
Dave Love <fx@gnu.org>
parents:
diff changeset
6 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
7 * XMenu: MIT Project Athena, X Window system menu package
Dave Love <fx@gnu.org>
parents:
diff changeset
8 *
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
9 * XMenuFindPane - Find the first menu pane who's label matches a
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
10 * particular string.
Dave Love <fx@gnu.org>
parents:
diff changeset
11 *
Dave Love <fx@gnu.org>
parents:
diff changeset
12 * Author: Tony Della Fera, DEC
Dave Love <fx@gnu.org>
parents:
diff changeset
13 * January 22, 1986
Dave Love <fx@gnu.org>
parents:
diff changeset
14 *
Dave Love <fx@gnu.org>
parents:
diff changeset
15 */
Dave Love <fx@gnu.org>
parents:
diff changeset
16
Dave Love <fx@gnu.org>
parents:
diff changeset
17 #include "XMenuInt.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
18
Dave Love <fx@gnu.org>
parents:
diff changeset
19 int
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
20 XMenuFindPane(menu, label)
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
21 register XMenu *menu;
Dave Love <fx@gnu.org>
parents:
diff changeset
22 register char *label;
Dave Love <fx@gnu.org>
parents:
diff changeset
23 {
Dave Love <fx@gnu.org>
parents:
diff changeset
24 register XMPane *p_ptr;
Dave Love <fx@gnu.org>
parents:
diff changeset
25 register int i = 0;
Dave Love <fx@gnu.org>
parents:
diff changeset
26
Dave Love <fx@gnu.org>
parents:
diff changeset
27 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
28 * Check for NULL pointers!
Dave Love <fx@gnu.org>
parents:
diff changeset
29 */
Dave Love <fx@gnu.org>
parents:
diff changeset
30 if (label == NULL) {
Dave Love <fx@gnu.org>
parents:
diff changeset
31 _XMErrorCode = XME_ARG_BOUNDS;
Dave Love <fx@gnu.org>
parents:
diff changeset
32 return(XM_FAILURE);
Dave Love <fx@gnu.org>
parents:
diff changeset
33 }
Dave Love <fx@gnu.org>
parents:
diff changeset
34
Dave Love <fx@gnu.org>
parents:
diff changeset
35 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
36 * Find the pane who's label matches the given label.
Dave Love <fx@gnu.org>
parents:
diff changeset
37 */
Dave Love <fx@gnu.org>
parents:
diff changeset
38 for (
Dave Love <fx@gnu.org>
parents:
diff changeset
39 p_ptr = menu->p_list->next;
Dave Love <fx@gnu.org>
parents:
diff changeset
40 p_ptr != menu->p_list;
Dave Love <fx@gnu.org>
parents:
diff changeset
41 p_ptr = p_ptr->next
Dave Love <fx@gnu.org>
parents:
diff changeset
42 ){
Dave Love <fx@gnu.org>
parents:
diff changeset
43 if (p_ptr->label_length == 0) {
Dave Love <fx@gnu.org>
parents:
diff changeset
44 if (*label == '\0') {
Dave Love <fx@gnu.org>
parents:
diff changeset
45 _XMErrorCode = XME_NO_ERROR;
Dave Love <fx@gnu.org>
parents:
diff changeset
46 return (i);
Dave Love <fx@gnu.org>
parents:
diff changeset
47 }
Dave Love <fx@gnu.org>
parents:
diff changeset
48 }
Dave Love <fx@gnu.org>
parents:
diff changeset
49 else {
Dave Love <fx@gnu.org>
parents:
diff changeset
50 if (strncmp (label, p_ptr->label, p_ptr->label_length) == 0) {
Dave Love <fx@gnu.org>
parents:
diff changeset
51 _XMErrorCode = XME_NO_ERROR;
Dave Love <fx@gnu.org>
parents:
diff changeset
52 return (i);
Dave Love <fx@gnu.org>
parents:
diff changeset
53 }
Dave Love <fx@gnu.org>
parents:
diff changeset
54 }
Dave Love <fx@gnu.org>
parents:
diff changeset
55 i++;
Dave Love <fx@gnu.org>
parents:
diff changeset
56 }
Dave Love <fx@gnu.org>
parents:
diff changeset
57
Dave Love <fx@gnu.org>
parents:
diff changeset
58 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
59 * If we get here then we have not found
Dave Love <fx@gnu.org>
parents:
diff changeset
60 * a match.
Dave Love <fx@gnu.org>
parents:
diff changeset
61 */
Dave Love <fx@gnu.org>
parents:
diff changeset
62 _XMErrorCode = XME_P_NOT_FOUND;
Dave Love <fx@gnu.org>
parents:
diff changeset
63 return (XM_FAILURE);
Dave Love <fx@gnu.org>
parents:
diff changeset
64 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
65
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
66 /* arch-tag: b6c94285-0d1d-4569-a071-b34b63c67a54
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
67 (do not change this comment) */