(item_properties): New variable.

(ITEM_PROPERTY_...): New macros.
This commit is contained in:
Richard M. Stallman
1998-03-27 04:52:43 +00:00
parent 8806d20f2a
commit 0340dc60d6

View File

@@ -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 *));