summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/easymenu.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-10-07 01:13:51 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2013-10-07 01:13:51 -0400
commit731fc3aec85564ab026964dd4dee361f786bcfa3 (patch)
tree71402dee419817f3d8a65e90c1837a90905eecb9 /lisp/emacs-lisp/easymenu.el
parenta58332802b26fda1bc49cf409737e6fde71461b6 (diff)
downloademacs-731fc3aec85564ab026964dd4dee361f786bcfa3.tar.gz
* lisp/emacs-lisp/easymenu.el (easy-menu-create-menu): Use closures.
Diffstat (limited to 'lisp/emacs-lisp/easymenu.el')
-rw-r--r--lisp/emacs-lisp/easymenu.el27
1 files changed, 14 insertions, 13 deletions
diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el
index f33ae54bf25..924ca7c0547 100644
--- a/lisp/emacs-lisp/easymenu.el
+++ b/lisp/emacs-lisp/easymenu.el
@@ -1,4 +1,4 @@
-;;; easymenu.el --- support the easymenu interface for defining a menu
+;;; easymenu.el --- support the easymenu interface for defining a menu -*- lexical-binding:t -*-
;; Copyright (C) 1994, 1996, 1998-2013 Free Software Foundation, Inc.
@@ -218,21 +218,22 @@ MENU-NAME is a string, the name of the menu. MENU-ITEMS is a list of items
possibly preceded by keyword pairs as described in `easy-menu-define'."
(let ((menu (make-sparse-keymap menu-name))
(easy-menu-avoid-duplicate-keys nil)
- prop keyword arg label enable filter visible help)
+ prop keyword label enable filter visible help)
;; Look for keywords.
(while (and menu-items
(cdr menu-items)
(keywordp (setq keyword (car menu-items))))
- (setq arg (cadr menu-items))
- (setq menu-items (cddr menu-items))
- (pcase keyword
- (`:filter
- (setq filter `(lambda (menu)
- (easy-menu-filter-return (,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)))))
+ (let ((arg (cadr menu-items)))
+ (setq menu-items (cddr menu-items))
+ (pcase keyword
+ (`: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))))))
(if (equal visible ''nil)
nil ; Invisible menu entry, return nil.
(if (and visible (not (easy-menu-always-true-p visible)))
@@ -496,7 +497,7 @@ Contrary to XEmacs, this is a nop on Emacs since menus are automatically
\(fn MENU)")
-(defun easy-menu-add (menu &optional map)
+(defun easy-menu-add (_menu &optional _map)
"Add the menu to the menubar.
On Emacs, menus are already automatically activated when the
corresponding keymap is activated. On XEmacs this is needed to