]> git.eshelyaron.com Git - emacs.git/commitdiff
(easy-menu-filter-return): Handle the
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 30 Aug 2002 21:46:15 +0000 (21:46 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 30 Aug 2002 21:46:15 +0000 (21:46 +0000)
case where the filter returns a single menu-entry.

lisp/emacs-lisp/easymenu.el

index d0bdef92a7901f9811af346a8775324be22375f8..a41ed5ef72b52def8725a75fbbf9f7af5dfa4a21 100644 (file)
@@ -184,11 +184,17 @@ In Emacs a menu filter must return a menu (a keymap), in XEmacs a filter must
 return a menu items list (without menu name and keywords).
 This function returns the right thing in the two cases.
 If NAME is provided, it is used for the keymap."
- (when (and (not (keymapp menu)) (consp menu))
+ (cond
+  ((and (not (keymapp menu)) (consp menu))
    ;; If it's a cons but not a keymap, then it can't be right
    ;; unless it's an XEmacs menu.
    (setq menu (easy-menu-create-menu (or name "") menu)))
- (easy-menu-get-map menu nil))         ; Get past indirections.
+  ((vectorp menu)
+   ;; It's just a menu entry.
+   (setq menu (cdr (easy-menu-convert-item menu)))))
+ (if (keymapp menu)
+     (easy-menu-get-map menu nil)              ; Get past indirections.
+   menu))
 
 ;;;###autoload
 (defun easy-menu-create-menu (menu-name menu-items)