Handle the case where the filter returns a single menu entry.
(easy-menu-add): Improve docstring.
(easy-menu-current-active-maps): Remove.
(easy-menu-get-map): Use current-active-maps.
(easy-menu-define-key-intern): Function deleted; callers intern
and then call easy-menu-define-key.
(easy-menu-do-add-item): Explicitly intern the key, but not BEFORE.
(easy-menu-define-key): Use easy-menu-name-match to match BEFORE.
(easy-menu-name-match): New function.
(add-submenu): New function.
(easy-menu-get-map-look-for-name): Use easy-menu-name-match.
(easy-menu-do-define, easy-menu-convert-item-1)
(easy-menu-define-key-intern, easy-menu-get-map): Use it.
(easy-menu-return-item): Only return nil if there is no binding.
(easy-menu-do-define): Use `menu-item' format.
Handle case where easy-menu-create-menu returns a symbol.
Manually call the potential top-level filter in the function binding.
(easy-menu-filter-return): New arg NAME.
Convert to a keymap if MENU is an XEmacs menu.
(easy-menu-convert-item-1): New. Extracted from easy-menu-do-add-item.
(easy-menu-converted-items-table, easy-menu-convert-item): New.
(easy-menu-do-add-item): Use it.
(easy-menu-create-menu): Use easy-menu-convert-item.
Wrap easy-menu-filter-return around any :filter specification.
Don't convert the menu if a filter was specified.
Tell easy-menu-make-symbol not to check for MENU being an expression.
(easy-menu-make-symbol): New arg NOEXP.
(easy-menu-get-map): New arg TO-MODIFY helps choose
between local and global maps.
(easy-menu-add-item): Pass TO-MODIFY arg to easy-menu-get-map.
(easy-menu-change): Doc fix.
(easy-menu-create-menu): New keyword :included.
(easy-menu-do-add-item): New keyword :included. SUFFIX may
be an expression, not only a string. Simulate style `button'.
Use easy-menu-define-key-intern instead of easy-menu-define-key.
(easy-menu-define-key-intern): New function.
(easy-menu-add-item): Understand value returned from
easy-menu-item-present-p and easy-menu-remove-item.
(easy-menu-return-item): New function.
(easy-menu-item-present-p, easy-menu-remove-item): Use it.
(easy-menu-precalculate-equivalent-keybindings): New customization variable.
(easy-menu-add): Precalculate key bindings if
`easy-menu-precalculate-equivalent-keybindings' is on.
(easy-menu-create-menu): Understand also keywords :active,
:label and :visible. Don't worry about button prefix.
(easy-menu-button-prefix): Modified value.
(easy-menu-do-add-item): Extensive changes to use new menu item format.
(easy-menu-define-key, easy-menu-always-true): New functions.
(easy-menu-make-symbol): Don't use indirection for symbols.
Property `menu-alias' not set.
(easy-menu-filter, easy-menu-update-button): Deleted.
(easy-menu-add-item): Don't worry about button prefix.
(easy-menu-remove-item): Don't worry about button prefix.
Use `easy-menu-define-key'.
(easy-menu-is-button, easy-menu-have-button): Deleted.
(easy-menu-real-binding, easy-menu-change-prefix): Deleted.
now. Done by letting `easy-menu-do-add-item' handle it.
(easy-menu-do-add-item): Take argument BEFORE instead of PREV.
Inserts directly in keymap, instead of calling `define-key-after'.
(easy-menu-create-menu): Don't reverse items as
`easy-menu-do-add-item' now puts things at the end of keymaps.
instead of (` and (,. Implement :filter. Doc fix.
(easy-menu-do-define): Call `easy-menu-create-menu' instead of
`easy-menu-create-keymaps'.
(easy-menu-create-keymaps): Replaced by `easy-menu-create-menu'.
(easy-menu-create-menu): New public function. Replaces
`easy-menu-create-keymaps', but with large changes.
(easy-menu-button-prefix): New constant.
(easy-menu-do-add-item, easy-menu-make-symbol): New functions.
(easy-menu-update-button): Doc fix.
(easy-menu-change): New optional argument BEFORE.
Now just a call to `easy-menu-add-item'.
(easy-menu-add-item, easy-menu-item-present-p)
(easy-menu-remove-item): New public functions.
(easy-menu-get-map, easy-menu-is-button-p, easy-menu-have-button-p)
(easy-menu-real-binding, easy-menu-change-prefix, easy-menu-filter):
New functions.
and radio (radio button) are prefixed by "[X] " or
"(*) " respectively, when selected and "[ ] " or "( ) ", when not
selected. In a menu that contain these prefixes, " " is used
as prefix for items that have no other prefix.
(easy-menu-update-button): New function used as `menu-enable'
property for checkboxes and radio buttons to update the prefixes.
(easy-menu-define): Change documentation string to describe the
new prefixes.