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

From: "Drew Adams" <[email-masked]>
Date: Mon, 16 Jul 2012 11:22:19 -0700

> This means that we have two different systems.  Here (Windows XP SP2)
> the scenario above makes the *shell* buffer partially hide 
> the *Process List* buffer and typing yes/no has the desired effect.
> Now we can only wait till someone confirms either your or my behavior.

Martin, I'm really sorry, but I was mistakenly not testing with the latest code
you sent.  I think I did not realize that you sent two versions of your
with-temp-buffer-window.el.

When I try your recipe from emacs -Q, this time loading the second version of
the code you sent, the problem for that emacs -Q recipe is solved.  Progress.

However, trying with my setup and then loading your code does not solve either
the shell frame problem or the Dired problem.

I then tried again from emacs -Q with your code, but loading only hexrgb.el,
oneonone.el, and the Cygwin setup libraries, to test whether the problem was a
standalone minibuffer.  I saw no problem when I used C-x C-c to quit with active
processes.  Likewise, no problem with the Dired scenario.  That's more good
news.

I then tried as for the last test, but also setting `special-display-regexps' to
("[ ]?[*][^*]+[*]") so that *Process List* is special-display.  Again, I saw no
problem (bug).  (But the *Process List* frame that was popped up was completely
hidden behind the frame that was selected when I hit C-x C-c.  That's not good.)

So I do not yet know what else in my setup causes the problem.  I will have to
dig to try to find out - can't do that today.

If we do find a solution for the problem in the end, it would be good if it were
also a solution for older Emacs versions, and not just Emacs 24+.  The same
problem exists in all Emacs versions I am aware of.  (But we're not there yet,
anyway.)

>  > BTW, if, after the kill-processes question is posed, I hit 
>  > C-x C-c again (no reason to do that, but I did, just to see)
>  > then I get this message:
>  >
>  >   "window-normalize-window: #<window 8> is not a live window"
>  >
>  > and the frame with *Process List* disappears.
>  >
>  > Dunno whether this extra info helps at all, but I found it 
>  > curious behavior.
> 
> It's a leftover from `quit-window'.  Thanks for noticing.

Glad my feedback serves some purpose occasionally. ;-)