summaryrefslogtreecommitdiff
path: root/src/keyboard.h
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-03-27 04:52:43 +0000
committerRichard M. Stallman <rms@gnu.org>1998-03-27 04:52:43 +0000
commit989bd75790cb92bdff880e816c9d9d8b2e1c90ec (patch)
tree27aa4e25e2860d996aa2cf539577029f3afc602e /src/keyboard.h
parent4df71a440b6471a00210b36a7d644575ce808444 (diff)
downloademacs-989bd75790cb92bdff880e816c9d9d8b2e1c90ec.tar.gz
(item_properties): New variable.
(ITEM_PROPERTY_...): New macros.
Diffstat (limited to 'src/keyboard.h')
-rw-r--r--src/keyboard.h33
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 *));