X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/9f6f48455f7d25e5cc2d50485d98ff3af43946a2..13841bfcc20881a268e3c853f65312390c589700:/lisp/menu-bar.el diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 75814fb7f6..024e2237ca 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -1,6 +1,6 @@ ;;; menu-bar.el --- define a default menu bar -;; Copyright (C) 1993-1995, 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 1993-1995, 2000-2013 Free Software Foundation, Inc. ;; Author: RMS ;; Maintainer: FSF @@ -637,11 +637,11 @@ FNAME is the minor mode's name (variable and function). DOC is the text to use for the menu entry. HELP is the text to use for the tooltip. PROPS are additional properties." - `(list 'menu-item ,doc ',fname - ,@(mapcar (lambda (p) (list 'quote p)) props) - :help ,help - :button '(:toggle . (and (default-boundp ',fname) - (default-value ',fname))))) + `'(menu-item ,doc ,fname + ,@props + :help ,help + :button (:toggle . (and (default-boundp ',fname) + (default-value ',fname))))) (defmacro menu-bar-make-toggle (name variable doc message help &rest body) `(progn @@ -664,10 +664,10 @@ by \"Save Options\" in Custom buffers.") ;; a candidate for "Save Options", and we do not want to save options ;; the user have already set explicitly in his init file. (if interactively (customize-mark-as-set ',variable))) - (list 'menu-item ,doc ',name - :help ,help - :button '(:toggle . (and (default-boundp ',variable) - (default-value ',variable)))))) + '(menu-item ,doc ,name + :help ,help + :button (:toggle . (and (default-boundp ',variable) + (default-value ',variable)))))) ;; Function for setting/saving default font. @@ -1812,9 +1812,14 @@ for the definition of the menu frame." When called in the minibuffer, get out of the minibuffer using `abort-recursive-edit'." (interactive) - (if (menu-bar-non-minibuffer-window-p) - (kill-buffer (current-buffer)) - (abort-recursive-edit))) + (cond + ;; Don't do anything when `menu-frame' is not alive or visible + ;; (Bug#8184). + ((not (menu-bar-menu-frame-live-and-visible-p))) + ((menu-bar-non-minibuffer-window-p) + (kill-buffer (current-buffer))) + (t + (abort-recursive-edit)))) (defun kill-this-buffer-enabled-p () "Return non-nil if the `kill-this-buffer' menu item should be enabled."