Mercurial > emacs
annotate oldXMenu/FindPane.c @ 111232:a9904c1962db
SMIE: change indent rules format, improve smie-setup.
* lisp/emacs-lisp/smie.el (smie-precs-precedence-table)
(smie-merge-prec2s, smie-bnf-precedence-table, smie-prec2-levels):
Mark them pure so the tables gets built at compile time.
(smie-bnf-precedence-table): Store the closer-alist in the table.
(smie-prec2-levels): Preserve the closer-alist.
(smie-blink-matching-open): Be more forgiving in case of indentation.
(smie-hanging-p): Rename from smie-indent--hanging-p.
(smie-bolp): Rename from smie-indent--bolp.
(smie--parent, smie--after): New dynamic vars.
(smie-parent-p, smie-next-p, smie-prev-p): New funs.
(smie-indent-rules): Remove.
(smie-indent--offset-rule): Remove fun.
(smie-rules-function): New var.
(smie-indent--rule): New fun.
(smie-indent--offset, smie-indent-keyword, smie-indent-after-keyword)
(smie-indent-exps): Use it.
(smie-setup): Setup paren blinking; add keyword args for token
functions; extract closer-alist from op-levels.
(smie-indent-debug-log): Remove var.
(smie-indent-debug): Remove fun.
* lisp/progmodes/prolog.el (prolog-smie-indent-rules): Remove.
(prolog-smie-rules): New fun to replace it.
(prolog-mode-variables): Simplify.
* lisp/progmodes/octave-mod.el (octave-smie-closer-alist): Remove, now that
it's setup automatically.
(octave-smie-indent-rules): Remove.
(octave-smie-rules): New fun to replace it.
(octave-mode): Simplify.
| author | Stefan Monnier <monnier@iro.umontreal.ca> |
|---|---|
| date | Fri, 29 Oct 2010 15:20:28 -0400 |
| parents | 5cc91198ffb2 |
| children | ef719132ddfa |
| 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 | 3 #include "copyright.h" |
| 4 | |
| 5 | |
| 6 /* | |
| 7 * XMenu: MIT Project Athena, X Window system menu package | |
| 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 | 10 * particular string. |
| 11 * | |
| 12 * Author: Tony Della Fera, DEC | |
| 13 * January 22, 1986 | |
| 14 * | |
| 15 */ | |
| 16 | |
| 17 #include "XMenuInt.h" | |
| 18 | |
| 19 int | |
|
109124
5cc91198ffb2
Convert function definitions in oldXMenu to standard C.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
76174
diff
changeset
|
20 XMenuFindPane(register XMenu *menu, register char *label) |
| 25858 | 21 { |
| 22 register XMPane *p_ptr; | |
| 23 register int i = 0; | |
| 24 | |
| 25 /* | |
| 26 * Check for NULL pointers! | |
| 27 */ | |
| 28 if (label == NULL) { | |
| 29 _XMErrorCode = XME_ARG_BOUNDS; | |
| 30 return(XM_FAILURE); | |
| 31 } | |
| 32 | |
| 33 /* | |
| 34 * Find the pane who's label matches the given label. | |
| 35 */ | |
| 36 for ( | |
| 37 p_ptr = menu->p_list->next; | |
| 38 p_ptr != menu->p_list; | |
| 39 p_ptr = p_ptr->next | |
| 40 ){ | |
| 41 if (p_ptr->label_length == 0) { | |
| 42 if (*label == '\0') { | |
| 43 _XMErrorCode = XME_NO_ERROR; | |
| 44 return (i); | |
| 45 } | |
| 46 } | |
| 47 else { | |
| 48 if (strncmp (label, p_ptr->label, p_ptr->label_length) == 0) { | |
| 49 _XMErrorCode = XME_NO_ERROR; | |
| 50 return (i); | |
| 51 } | |
| 52 } | |
| 53 i++; | |
| 54 } | |
| 55 | |
| 56 /* | |
| 57 * If we get here then we have not found | |
| 58 * a match. | |
| 59 */ | |
| 60 _XMErrorCode = XME_P_NOT_FOUND; | |
| 61 return (XM_FAILURE); | |
| 62 } | |
| 52401 | 63 |
| 64 /* arch-tag: b6c94285-0d1d-4569-a071-b34b63c67a54 | |
| 65 (do not change this comment) */ |
