Subject: RE: bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus when it calls `list-processes'

From: "Drew Adams" <[email-masked]>
Date: Tue, 17 Jul 2012 07:22:36 -0700

> I attach the first version of `with-temp-buffer-window',
> however, with a redefined `y-or-n-p'.  Try it with your code but with
> `yes-or-no-p' aliased to `y-or-n-p'.
> 
> Here, with emacs -Q
> (progn
>    (defalias 'yes-or-no-p 'y-or-n-p)
>    (load "~/with-temp-buffer-window.el")
>    (shell)
>    (setq minibuffer-auto-raise t)
>    (setq pop-up-frame-function
> 	(lambda () (make-frame '((minibuffer . nil)))))
>    (setq pop-up-frames t))

I did this:

1. Used my setup.  Then did the defalias.  Then loaded your file.  Then `M-x
shell'.  Then `C-x C-c'.  Then `y'.  No problem.

2. emacs -Q, then used your code above, but first loaded cygwin-mount.el and
setup-cygwin.el.  C-x C-c.  No problem.

HTH.

BTW, you did not answer my question of how you get shell etc. to work on Windows
with emacs -Q and without Cygwin.  I'm still interested to learn what you are
doing in that regard.

> I suppose that we should (at least optionally) have all functions
> accessing the minibuffer redirect frame focus to it first.

I thought that was already the case - it seems to be.  In the problem reported
for this bug the minibuffer frame had the focus, but it then lost it because of
a frame switch (I mean, because a new frame creation by Windows switched the
focus).