GNU bug report logs -
#11939
24.1; `save-buffers-kill-emacs' loses minibuffer focus when it calls `list-processes'
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Fri, 13 Jul 2012 18:07:01 UTC
Severity: normal
Found in version 24.1
Done: martin rudalics <rudalics <at> gmx.at>
Bug is archived. No further changes may be made.
Full log
Message #188 received at 11939 <at> debbugs.gnu.org (full text, mbox):
>> (progn
>> ;; (setq minibuffer-auto-raise t)
>> ;; (setq pop-up-frame-function
>> ;; (lambda () (make-frame '((minibuffer . nil)))))
>> (setq pop-up-frames t)
>> (add-hook 'after-make-frame-functions
>> #'(lambda (frame)
>> (redirect-frame-focus frame frame)))
>> (shell))
>>
>> where the two forms in comments are optional. In all cases, focus is
>> redirected appropriately after C-x C-c (although I think that when the
>> new frame does have a minibuffer window, no redirection should be done
>> at all and the prompt should appear in the new frame - but it seems
>> difficult to get that right). And obviously things look better with
>> `minibuffer-auto-raise' non-nil.
>
> Yes, if I try that with emacs -Q then it does what you say (with Emacs 24.1 and
> later).
>
> And uncommenting those two lines also behaves as I think you intend. In both
> cases, the question is posed, and the response is accepted, in the minibuffer of
> frame *shell* (i.e., not the minibuffer of frame *Process List* in the case
> where it has one).
>
> But if *Process List* has no minibuffer (uncommented test case), and it is
> selected (e.g., later, manually, after replying "no" once) when you hit `C-x
> C-c' (i.e., the second `C-x C-c'), then frame *shell* is raised and receives the
> input, even though there is nothing on that frame that the user needs to see
> (apart from the question/answer).
This is probably the case where a window on another frame is reused
before asking the `yes-or-no-p' question. This should be easier to
handle because the window manager supposedly won't focus that frame.
In any case I think a `yes-or-no-p' question should terminate by
killing the *Process List* buffer to avoid such confusion.
> It is better, IMO, for the question/response to be in frame *Process List*, as
> we discussed earlier. (This is all for the case where there is no standalone
> minibuffer frame.)
I think so too.
> The reason I provided the description I did was that I thought we were talking
> about my setup with a standalone minibuffer frame. See my previous description
> (quoted above) for what happens in that context. For that context, your
> suggestion of using `after-make-frame-functions', as I understood it, did not
> help.
What precisely is the problem with it?
martin
This bug report was last modified 12 years and 288 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.