changeset 19591:c24b4ef20525

(easy-menu-create-keymaps): If nil is given as the enable condition, always disable the command.
author Richard M. Stallman <rms@gnu.org>
date Thu, 28 Aug 1997 03:04:18 +0000
parents 167f4700890a
children 86dc1337c489
files lisp/emacs-lisp/easymenu.el
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/easymenu.el	Thu Aug 28 02:53:44 1997 +0000
+++ b/lisp/emacs-lisp/easymenu.el	Thu Aug 28 03:04:18 1997 +0000
@@ -142,7 +142,7 @@
 		 (if (and (symbolp keyword)
 			  (= ?: (aref (symbol-name keyword) 0)))
 		     (let ((count 2)
-			   style selected active keys
+			   style selected active keys active-specified
 			   arg)
 		       (while (> (length item) count)
 			 (setq keyword (aref item count))
@@ -151,7 +151,8 @@
 			 (cond ((eq keyword ':keys)
 				(setq keys arg))
 			       ((eq keyword ':active)
-				(setq active arg))
+				(setq active (or arg ''nil)
+				      active-specified t))
 			       ((eq keyword ':suffix)
 				(setq item-string
 				      (concat item-string " " arg)))
@@ -185,8 +186,10 @@
 			       (setcar (car old-items)
 				       (concat "    " (car (car old-items))))
 			       (setq old-items (cdr old-items)))))
-		       (if active (put command 'menu-enable active)))
-		   (put command 'menu-enable keyword)))
+		       (if active-specified (put command 'menu-enable active)))
+		   ;; If the third element is nil,
+		   ;; make this command always disabled.
+		   (put command 'menu-enable (or keyword ''nil))))
 	       (if (symbolp callback)
 		   (fset command callback)
 		 (fset command (list 'lambda () '(interactive) callback)))