summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/easymenu.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/easymenu.el')
-rw-r--r--lisp/emacs-lisp/easymenu.el39
1 files changed, 25 insertions, 14 deletions
diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el
index 255a0436203..f274f62164f 100644
--- a/lisp/emacs-lisp/easymenu.el
+++ b/lisp/emacs-lisp/easymenu.el
@@ -71,6 +71,17 @@ pairs:
if the expression evaluates to a non-nil value. `:enable' is
an alias for `:active'.
+ :label FORM
+ FORM is an expression that is dynamically evaluated and whose
+ value serves as the menu's label (the default is the first
+ element of MENU).
+
+ :help HELP
+ HELP is a string, the help to display for the menu.
+ In a GUI this is a \"tooltip\" on the menu button. (Though
+ in Lucid :help is not shown for the top-level menu bar, only
+ for sub-menus.)
+
The rest of the elements in MENU are menu items.
A menu item can be a vector of three elements:
@@ -226,14 +237,14 @@ possibly preceded by keyword pairs as described in `easy-menu-define'."
(let ((arg (cadr menu-items)))
(setq menu-items (cddr menu-items))
(pcase keyword
- (`:filter
+ (:filter
(setq filter (lambda (menu)
(easy-menu-filter-return (funcall arg menu)
menu-name))))
- ((or `:enable `:active) (setq enable (or arg ''nil)))
- (`:label (setq label arg))
- (`:help (setq help arg))
- ((or `:included `:visible) (setq visible (or arg ''nil))))))
+ ((or :enable :active) (setq enable (or arg ''nil)))
+ (:label (setq label arg))
+ (:help (setq help arg))
+ ((or :included :visible) (setq visible (or arg ''nil))))))
(if (equal visible ''nil)
nil ; Invisible menu entry, return nil.
(if (and visible (not (easy-menu-always-true-p visible)))
@@ -325,15 +336,15 @@ ITEM defines an item as in `easy-menu-define'."
(setq arg (aref item (1+ count)))
(setq count (+ 2 count))
(pcase keyword
- ((or `:included `:visible) (setq visible (or arg ''nil)))
- (`:key-sequence (setq cache arg cache-specified t))
- (`:keys (setq keys arg no-name nil))
- (`:label (setq label arg))
- ((or `:active `:enable) (setq active (or arg ''nil)))
- (`:help (setq prop (cons :help (cons arg prop))))
- (`:suffix (setq suffix arg))
- (`:style (setq style arg))
- (`:selected (setq selected (or arg ''nil)))))
+ ((or :included :visible) (setq visible (or arg ''nil)))
+ (:key-sequence (setq cache arg cache-specified t))
+ (:keys (setq keys arg no-name nil))
+ (:label (setq label arg))
+ ((or :active :enable) (setq active (or arg ''nil)))
+ (:help (setq prop (cons :help (cons arg prop))))
+ (:suffix (setq suffix arg))
+ (:style (setq style arg))
+ (:selected (setq selected (or arg ''nil)))))
(if suffix
(setq label
(if (stringp suffix)