From: martin rudalics <rudalics@gmx.at>
To: Drew Adams <drew.adams@oracle.com>
Cc: 11939@debbugs.gnu.org
Subject: bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenit calls `list-processes'
Date: Tue, 07 Aug 2012 10:58:30 +0200 [thread overview]
Message-ID: <5020D8B6.5000701@gmx.at> (raw)
In-Reply-To: <66AA74201A324E009E0D9D367E009A7B@us.oracle.com>
> You seem to be saying that if BUFFER is selected/current, and if input is read
> somewhere (where?) - then what? The focus gets automatically redirected to the
> minibuffer frame?
A BUFFER is not selected, only a window or a frame is. I say that when
a window on a minibuffer-less frame is selected and its buffer is
current at the time a `yes-or-no-p' question is asked, focus for reading
input from the minibuffer gets redirected to a minibuffer-equipped
frame.
> This is not about reading input with BUFFER selected/current. The idea is to
> have the _previously_ selected buffer be selected/current, while input is read
> from the minibuffer. The idea is not to make BUFFER selected/current, but just
> to display it.
I don't talk about ideas. I talk about the current implementation of
dialogs that read text from the minibuffer.
> Beyond that, that sentence of mine was shorthand. It (apparently) is not enough
> that the focus be redirected once, at some point, to the minibuffer frame. It
> needs to either remain there (somehow preventing MS Windows from moving it away)
> or be put back there (after MS Windows moves it to BUFFER's frame).
Focus redirection is done by Emacs. MS Windows won't redirect focus.
> IOW, even
> if redirection is happening now as it should, it is not sufficient if, after
> that redirection to the minibuffer, the OS changes the focus again (to the new
> frame).
Any redirection is permanent for a frame until it's explicitly changed
by Emacs.
>> IIUC you want to modify the behavior of `yes-or-no-p' to
>> redirect frame focus in your sense.
>
> I don't know why you mention `yes-or-no-p'. This is about reading from the
> minibuffer, in general.
>
> I don't want or not want to modify `yes-or-no-p' or `read-from-minibuffer'. I'm
> just saying that if the problem is that we want to display BUFFER, and it gets
> displayed in a new frame, and we want to read from the minibuffer, then we do
> not want, for that minibuffer reading, the input focus to be in BUFFER's frame.
Above you say that
> It (apparently) is not enough
> that the focus be redirected once, at some point, to the minibuffer frame.
so you want to modify `yes-or-no-p' or `read-from-minibuffer'.
> Yes, when reading from the minibuffer is initiated,
> the minibuffer frame should get the focus. But the user (or Emacs) should not
> be prevented from switching the focus to another frame.
>
> All that we are trying to prevent or remedy is the focus switching to another
> (new) frame by the OS. We should not be preventing either Emacs or the user
> from switching focus to another frame, just because the minibuffer is active.
>
> That is the only point I was trying to make here.
And my point is that beyond the initial redirection the mechanism
reading keyboard events is responsible for providing such behavior.
> I did not know where you were asking the question. By that, I assume you mean
> that the new frame is selected (and has the focus?) when you invoke
> `yes-or-no-p'. Is that right?
I temporarily select the new frame when I invoke `yes-or-no-p'. The new
frame will be selected again by `handle-switch-frame' if and when Emacs
is notified by the OS.
> Just for my info, why does it matter where `yes-or-no-p' is invoked? _Should_
> it matter, or is it just a fact that we must live with that it does matter?
It does matter if and when the selected frame does not have a minibuffer
and I want to redirect focus to a minibuffer frame.
>> > Yes, it is more restrictive than the actual problem encountered.
>> > As I said, it might suffice in practice, but there is nothing in the
>> > problem description that requires that the buffer itself be temporary.
>>
>> I have to kill the buffer to remove the frame.
>
> I don't understand why, but probably I don't need to understand everything. Why
> doesn't `delete-frame' do what you need?
Because the window is "quit" when the user is done with the dialog.
`quit-window' deletes the frame only if the buffer is killed or
`frame-auto-hide-function' takes over.
>> And I have to remove the frame because you complained that
>> `save-window-excursion' cannot remove a popped up frame.
>
> Hm. I don't recall that at all, but I believe you that I did. Was that in some
> other thread?
In the thread on the behavior of `dired-mark-pop-up' IIRC.
>> If we use `frame-auto-hide-function', the caller does not have to kill
>> the buffer and there's no need to make this construct work
>> for temporary buffers only.
>
> That sounds good to me. Perhaps I'm missing something. I don't want to steer
> you down the wrong path, but what you say here sounds good to me.
>
> If the more general case can be handled, then the more restrictive case
> (temporary buffer, not just temporary display) could presumably be handled also,
> as a subcase, no? Or even if not as a subcase, as a separate case.
>
> IOW, if possible it would be good to have both possibilities, so a programmer
> could get the right behavior for a given context: If s?he wants that buffer to
> be temporary, then call a construct that treats it as such (killing it). If
> s?he wants that buffer not to be temporary and only its display to be temporary
> then call a construct that does that instead.
>
>> > Anyway, let's talk about this later.
>>
>> It's your choice.
>
> Can we have both possibilities?
>
> If not, let's get the temporary-buffer one first. IOW, I think you have that
> case almost nailed - there is just the special-display/dedicatedness that does
> not work yet.
Then have a look at what happens there.
martin
next prev parent reply other threads:[~2012-08-07 8:58 UTC|newest]
Thread overview: 147+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-13 18:00 bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus when it calls `list-processes' Drew Adams
2012-07-14 13:27 ` martin rudalics
2012-07-14 14:51 ` Drew Adams
2012-07-14 16:19 ` martin rudalics
2012-07-14 17:12 ` Drew Adams
2012-07-15 12:59 ` martin rudalics
2012-07-15 15:06 ` Drew Adams
2012-07-15 16:08 ` martin rudalics
2012-07-15 16:43 ` Drew Adams
2012-07-16 9:12 ` martin rudalics
2012-07-16 14:23 ` Drew Adams
2012-07-16 16:07 ` martin rudalics
2012-07-16 16:36 ` Drew Adams
2012-07-16 17:04 ` martin rudalics
2012-07-16 18:22 ` Drew Adams
2012-07-16 23:26 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus when itcalls `list-processes' Drew Adams
2012-07-17 9:50 ` martin rudalics
2012-07-17 15:21 ` Drew Adams
2012-07-18 16:16 ` martin rudalics
2012-07-19 3:56 ` Drew Adams
2012-07-19 10:42 ` martin rudalics
2012-07-19 17:45 ` Drew Adams
2012-07-21 11:02 ` martin rudalics
2012-07-21 18:13 ` Drew Adams
2012-07-22 8:49 ` martin rudalics
[not found] ` <ED063FDC2B7C4B2A9CB2BDADAE2F00A2@us.orac! ! le.com>
2012-07-22 16:55 ` Drew Adams
2012-07-23 9:34 ` martin rudalics
2012-07-23 16:12 ` Drew Adams
2012-07-17 9:50 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus when it calls `list-processes' martin rudalics
2012-07-17 14:22 ` Drew Adams
2012-07-18 16:16 ` martin rudalics
2012-07-18 17:23 ` Drew Adams
2012-07-19 10:41 ` martin rudalics
2012-07-19 17:43 ` Drew Adams
2012-07-21 11:01 ` martin rudalics
2012-07-21 18:13 ` Drew Adams
2012-07-19 3:54 ` Drew Adams
2012-07-19 10:42 ` martin rudalics
2012-07-19 17:43 ` Drew Adams
2012-07-21 11:01 ` martin rudalics
2012-07-21 18:13 ` Drew Adams
2012-07-22 8:48 ` martin rudalics
2012-07-22 16:46 ` Drew Adams
2012-07-22 17:06 ` Eli Zaretskii
[not found] ` <8C! 6D5530BE0@[87.69.210.75! ]>
[not found] ` <83! 4n@[87.69.210.75]>
2012-07-22 19:42 ` Drew Adams
2012-07-22 20:49 ` Eli Zaretskii
2012-07-22 21:01 ` Drew Adams
2012-07-22 21:07 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus whenit " Drew Adams
2012-07-22 21:21 ` Daniel Colascione
2012-07-23 1:13 ` Drew Adams
2012-07-22 21:16 ` Drew Adams
2012-07-23 17:33 ` Eli Zaretskii
2012-07-23 18:00 ` Drew Adams
2012-07-23 16:04 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus when it " Eli Zaretskii
2012-07-23 16:28 ` Drew Adams
2012-07-23 17:58 ` Eli Zaretskii
2012-07-23 18:29 ` Drew Adams
2012-07-23 19:30 ` Eli Zaretskii
2012-07-24 12:47 ` martin rudalics
2012-07-25 15:42 ` Drew Adams
2012-07-25 16:17 ` Eli Zaretskii
2012-07-25 16:42 ` Drew Adams
2012-07-25 17:28 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus whenit " Drew Adams
2012-07-26 9:44 ` martin rudalics
[not found] ` <32A934E820BA4853B84229C32F7145A1@us.oracle! ! .com>
2012-07-26 13:51 ` Drew Adams
2012-07-26 16:05 ` martin rudalics
2012-07-26 16:21 ` Drew Adams
2012-07-26 16:52 ` martin rudalics
[not found] ` <2F76545DBD0C4F199A60F4! B750709112@us.oracle.com>
[not found] ` <FBD01B85621E4CB5AF89A744D72DA935@us.oracle.! ! com>
2012-07-26 17:08 ` Drew Adams
2012-07-26 17:41 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenit " Drew Adams
2012-07-27 6:33 ` martin rudalics
2012-07-28 15:29 ` Drew Adams
2012-07-29 13:56 ` martin rudalics
2012-07-28 15:31 ` Drew Adams
2012-07-29 13:56 ` martin rudalics
2012-07-27 6:33 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus whenit " martin rudalics
2012-07-28 15:29 ` Drew Adams
2012-07-29 13:55 ` martin rudalics
2012-07-29 16:26 ` Drew Adams
2012-07-29 17:08 ` martin rudalics
[not found] ` <F930898D9C4E4DC295235DD8! A4B7BFFE@us.oracle.com>
[not found] ` <F1206E98AF6C40E8BBDD20894A9BC0D2@us.oracle.co! ! m>
[not found] ` <F930898D9C4E4DC295235DD8!A4B7BFFE@us.oracle.com>
2012-07-29 18:01 ` Drew Adams
2012-07-30 9:13 ` martin rudalics
2012-08-01 16:34 ` Drew Adams
[not found] ` <F930898D9C4E4DC295235DD8! A4B7BFFE@us.oracle.co m>
2012-07-29 19:26 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenit " Drew Adams
2012-07-30 9:13 ` martin rudalics
2012-08-01 16:34 ` Drew Adams
[not found] ` <501BAAB0.1020!807@gmx! .at>
2012-08-03 10:40 ` martin rudalics
2012-08-03 16:46 ` Drew Adams
2012-08-03 17:00 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenitcalls `list-processes' Drew Adams
2012-08-04 13:45 ` martin rudalics
[not found] ` <7E4F337C7F6A4B8281!ABE6C82 A8CA70E@us.oracle.com>
[not found] ` <7E4F337C7F6A4B8281! ABE6C82A8CA70E@us.oracle.com>
[not found] ` <B7E92FDE8CFC4F798AEEB7CBFEFA933D@us.orac! ! le.com>
2012-08-05 22:32 ` Drew Adams
2012-08-05 23:10 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenitcalls`list-processes' Drew Adams
2012-08-06 15:29 ` martin rudalics
2012-08-06 20:56 ` Drew Adams
[not found] ` < 5022103E.6060502@gmx.at>
2012-08-07 8:58 ` martin rudalics
2012-08-08 7:07 ` martin rudalics
2012-08-08 16:19 ` Drew Adams
2012-08-08 16:32 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibufferfocuswhenitcalls`list-processes' Drew Adams
2012-08-08 16:38 ` bug#11939: 24.1; `save-buffers-kill-emacs' losesminibufferfocuswhenitcalls`list-processes' Drew Adams
2012-08-09 8:45 ` martin rudalics
2012-08-10 17:47 ` Drew Adams
2012-08-11 9:31 ` martin rudalics
2012-08-11 16:58 ` Drew Adams
[not found] ` <502!785DF.1040200@gmx.at>
[not found] ` <A5E13547EC48444192A20752F3F4FAF9@us.oracle.com!>
[not found] ` <5028! A8FD.60705@gmx .at>
[not found] ` <502! 785DF.1040200@gmx.at>
[not found] ` <A5E13547EC48444192A20752F3F4FAF9@us.oracle.com! >
2012-08-12 10:30 ` martin rudalics
2012-08-12 15:03 ` Drew Adams
2012-08-13 7:13 ` martin rudalics
2012-08-13 13:51 ` Drew Adams
2012-08-13 16:23 ` martin rudalics
2012-08-13 22:20 ` bug#11939: 24.1; `save-buffers-kill-emacs'losesminibufferfocuswhenitcalls`list-processes' Drew Adams
2012-08-14 9:10 ` martin rudalics
2012-08-14 14:36 ` Drew Adams
2012-08-14 16:04 ` martin rudalics
2012-08-14 17:39 ` Drew Adams
[not found] ` <502B7AC2.70! 004@gmx. at>
2012-08-15 10:32 ` martin rudalics
2012-08-26 4:11 ` Drew Adams
2012-08-26 4:31 ` Drew Adams
2012-08-09 8:45 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibufferfocuswhenitcalls`list-processes' martin rudalics
2012-08-09 21:53 ` Drew Adams
2012-08-10 9:33 ` martin rudalics
2012-08-09 8:44 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenitcalls`list-processes' martin rudalics
2012-08-09 21:53 ` Drew Adams
2012-08-06 15:29 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenitcalls `list-processes' martin rudalics
2012-08-06 20:55 ` Drew Adams
2012-08-07 8:58 ` martin rudalics
2012-08-07 13:39 ` Drew Adams
2012-08-04 13:44 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focuswhenit calls `list-processes' martin rudalics
2012-08-06 1:11 ` Drew Adams
2012-08-06 15:29 ` martin rudalics
2012-08-06 21:05 ` Drew Adams
[not found] ` <50! 20D8B6.5000701@gmx.at>
[not found] ` <254E2E4A521F4250A06349AD44BEEE63@us.oracle.co! ! m>
2012-08-07 8:58 ` martin rudalics [this message]
2012-08-07 13:59 ` Drew Adams
2012-08-08 7:07 ` martin rudalics
[not found] ` <E0132113E8CD4470A74D81C04D74585C@us.orac! ! le.com>
2012-08-08 16:18 ` Drew Adams
2012-08-09 8:44 ` martin rudalics
2012-08-09 21:54 ` Drew Adams
2012-07-26 15:48 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus when it " martin rudalics
2012-07-26 15:52 ` Drew Adams
2012-07-23 9:34 ` martin rudalics
2012-07-23 16:12 ` Drew Adams
2012-07-24 12:46 ` martin rudalics
2012-07-25 15:02 ` Drew Adams
2012-07-26 9:43 ` martin rudalics
2012-07-16 14:52 ` Drew Adams
2012-09-05 14:30 ` martin rudalics
2012-09-05 14:35 ` Drew Adams
2012-10-03 16:18 ` bug#11939: 24.1; `save-buffers-kill-emacs' loses minibuffer focus when itcalls `list-processes' Drew Adams
2012-10-05 7:04 ` martin rudalics
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5020D8B6.5000701@gmx.at \
--to=rudalics@gmx.at \
--cc=11939@debbugs.gnu.org \
--cc=drew.adams@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).