bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#30016: Improve visibility of Process List


From: Juri Linkov
Subject: bug#30016: Improve visibility of Process List
Date: Mon, 29 Jan 2018 23:50:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)

> I meant when *Process List* is displayed on quitting with ‘C-x C-c’
> where the minibuffer is active with the prompt “Active processes exist;
> kill them and exit anyway?”  It allows switching buffers when an
> expected answer is “yes/no”, but doesn't when “y/n”.

I forgot to let-bind pop-up-windows to nil like we do in other
similar places to disable window popping, but not frame popping:

diff --git a/lisp/files.el b/lisp/files.el
index 00622cf..460ed7a 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3314,7 +3314,13 @@ hack-local-variables-confirm
 
       ;; Display the buffer and read a choice.
       (save-window-excursion
-       (pop-to-buffer buf `((display-buffer--maybe-same-window
+       (let (
+              ;; Disable `pop-up-windows' temporarily to allow
+              ;; `display-buffer--maybe-pop-up-frame-or-window'
+              ;; in the display actions below to pop up a frame
+              ;; if `pop-up-frames' is non-nil, but not to pop up a window.
+              (pop-up-windows nil))
+        (pop-to-buffer buf `((display-buffer--maybe-same-window
                               display-buffer-reuse-window
                               display-buffer--maybe-pop-up-frame-or-window
                               display-buffer-at-bottom)
@@ -3322,7 +3328,7 @@ hack-local-variables-confirm
                                  '(window-height . resize-temp-buffer-window)
                                '(window-height . fit-window-to-buffer))
                             ,(when temp-buffer-resize-mode
-                               '(preserve-size . (nil . t)))))
+                               '(preserve-size . (nil . t))))))
        (let* ((exit-chars '(?y ?n ?\s ?\C-g ?\C-v))
               (prompt (format "Please type %s%s: "
                               (if offer-save "y, n, or !" "y or n")
@@ -6924,6 +6930,12 @@ save-buffers-kill-emacs
                   (setq active t))
              (setq processes (cdr processes)))
            (or (not active)
+               (let (
+                     ;; Disable `pop-up-windows' temporarily to allow
+                     ;; `display-buffer--maybe-pop-up-frame-or-window'
+                     ;; in the display actions below to pop up a frame
+                     ;; if `pop-up-frames' is non-nil, but not to pop up a 
window.
+                     (pop-up-windows nil))
                (with-displayed-buffer-window
                 (get-buffer-create "*Process List*")
                 `((display-buffer--maybe-same-window
@@ -6943,7 +6955,7 @@ save-buffers-kill-emacs
                             (yes-or-no-p "Active processes exist; kill them 
and exit anyway? "))
                         (when (window-live-p window)
                           (quit-restore-window window 'kill)))))
-                (list-processes t)))))
+                (list-processes t))))))
      ;; Query the user for other things, perhaps.
      (run-hook-with-args-until-failure 'kill-emacs-query-functions)
      (or (null confirm)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]