]> git.eshelyaron.com Git - emacs.git/commitdiff
(kill-this-buffer): Use menu-bar-non-minibuffer-window-p
authorJuri Linkov <juri@jurta.org>
Sun, 16 Mar 2008 17:44:20 +0000 (17:44 +0000)
committerJuri Linkov <juri@jurta.org>
Sun, 16 Mar 2008 17:44:20 +0000 (17:44 +0000)
to check if the current buffer is the minibuffer, and in this case
call abort-recursive-edit to kill the minibuffer.  Doc fix.
(kill-this-buffer-enabled-p): Allow this function to return non-nil
when the current buffer is the minibuffer.

lisp/menu-bar.el

index 6d9e4608186707ee5b5d8dbb5f97b9e3efc1b6b5..bd7cd8257ef7bb0bc137a31c0d06b27b06daf29a 100644 (file)
@@ -1439,9 +1439,13 @@ for the definition of the menu frame."
     (not (window-minibuffer-p (frame-selected-window menu-frame)))))
 
 (defun kill-this-buffer ()     ; for the menu bar
-  "Kill the current buffer."
+  "Kill the current buffer.
+When called in the minibuffer, get out of the minibuffer
+using `abort-recursive-edit'."
   (interactive)
-  (kill-buffer (current-buffer)))
+  (if (menu-bar-non-minibuffer-window-p)
+      (kill-buffer (current-buffer))
+    (abort-recursive-edit)))
 
 (defun kill-this-buffer-enabled-p ()
   (let ((count 0)
@@ -1450,8 +1454,8 @@ for the definition of the menu frame."
       (or (string-match "^ " (buffer-name (car buffers)))
          (setq count (1+ count)))
       (setq buffers (cdr buffers)))
-    (and (menu-bar-non-minibuffer-window-p)
-        (> count 1))))
+    (or (not (menu-bar-non-minibuffer-window-p))
+       (> count 1))))
 
 (put 'dired 'menu-enable '(menu-bar-non-minibuffer-window-p))