diff options
author | Richard M. Stallman <rms@gnu.org> | 1998-03-27 04:52:43 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1998-03-27 04:52:43 +0000 |
commit | 0340dc60d659f86ed2719c5658bdf8a44a53b58d (patch) | |
tree | db6a911440668256f4f2f73a0e1859a8a4a7f691 /src/keyboard.h | |
parent | 8806d20f2abf93f56618b172ea4f0255a7908267 (diff) | |
download | emacs-0340dc60d659f86ed2719c5658bdf8a44a53b58d.tar.gz emacs-0340dc60d659f86ed2719c5658bdf8a44a53b58d.tar.bz2 emacs-0340dc60d659f86ed2719c5658bdf8a44a53b58d.zip |
(item_properties): New variable.
(ITEM_PROPERTY_...): New macros.
Diffstat (limited to 'src/keyboard.h')
-rw-r--r-- | src/keyboard.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/keyboard.h b/src/keyboard.h index 73aec908e2c..71247c9e950 100644 --- a/src/keyboard.h +++ b/src/keyboard.h @@ -203,6 +203,36 @@ extern int this_command_key_count; 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 Vkeyboard_translate_table; 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 *)); |