Mercurial > emacs
changeset 21297:41ed45a73873
(item_properties): New variable.
(ITEM_PROPERTY_...): New macros.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 27 Mar 1998 04:52:43 +0000 |
parents | 25db4bc0e67e |
children | 34e8c91f9018 |
files | src/keyboard.h |
diffstat | 1 files changed, 33 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.h Fri Mar 27 03:49:56 1998 +0000 +++ b/src/keyboard.h Fri Mar 27 04:52:43 1998 +0000 @@ -203,6 +203,36 @@ generated by the next character. */ extern Lisp_Object internal_last_event_frame; +/* This holds a Lisp vector that holds the properties of a single + menu item while decoding it in parse_menu_item. + Using a Lisp vector to hold this information while we decode it + takes care of protecting all the data from GC. */ +extern Lisp_Object item_properties; + +/* This describes the elements of item_properties. + The first element is not a property, it is a pointer to the item properties + that is saved for GC protection. */ +#define ITEM_PROPERTY_ITEM 0 +/* The item string. */ +#define ITEM_PROPERTY_NAME 1 +/* Start of initilize to nil */ +/* The binding: nil, a command or a keymap. */ +#define ITEM_PROPERTY_DEF 2 +/* The keymap if the binding is a keymap, otherwise nil. */ +#define ITEM_PROPERTY_MAP 3 +/* Nil, :radio or :toggle. */ +#define ITEM_PROPERTY_TYPE 4 +/* Nil or a string describing an equivalent key binding. */ +#define ITEM_PROPERTY_KEYEQ 5 +/* Not nil if a selected toggle box or radio button, otherwise nil. */ +#define ITEM_PROPERTY_SELECTED 6 +/* Place for a help string. Not yet used. */ +#define ITEM_PROPERTY_HELP 7 +/* Start of initilize to t */ +/* Last property. */ +/* Not nil if item is enabled. */ +#define ITEM_PROPERTY_ENABLE 8 + /* Macros for dealing with lispy events. */ /* True iff EVENT has data fields describing it (i.e. a mouse click). */ @@ -261,6 +291,9 @@ extern Lisp_Object map_prompt P_ ((Lisp_Object)); + +extern int parse_menu_item (); + extern void echo_now P_ ((void)); extern void init_kboard P_ ((KBOARD *)); extern void delete_kboard P_ ((KBOARD *));