diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-07 01:13:51 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-07 01:13:51 -0400 |
commit | 731fc3aec85564ab026964dd4dee361f786bcfa3 (patch) | |
tree | 71402dee419817f3d8a65e90c1837a90905eecb9 /lisp/emacs-lisp | |
parent | a58332802b26fda1bc49cf409737e6fde71461b6 (diff) | |
download | emacs-731fc3aec85564ab026964dd4dee361f786bcfa3.tar.gz emacs-731fc3aec85564ab026964dd4dee361f786bcfa3.tar.bz2 emacs-731fc3aec85564ab026964dd4dee361f786bcfa3.zip |
* lisp/emacs-lisp/easymenu.el (easy-menu-create-menu): Use closures.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/easymenu.el | 27 |
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 |