all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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: Mon, 06 Aug 2012 17:29:35 +0200	[thread overview]
Message-ID: <501FE2DF.6030906@gmx.at> (raw)
In-Reply-To: <75CAF22BF973452CB85EFC802F2C171A@us.oracle.com>

 >>  > Something like this:
 >>  > (with-unfocused-buffer-displayed BUFFER &body BODY)
 >>  >
 >>  > where BUFFER is displayed for information only, and where
 >>  > BODY would include the call(s) that read from the minibuffer.
 >>  >
 >>  > The current buffer would remain what it was beforehand,
 >>  > and _if_ BUFFER gets displayed in its own frame and _if_
 >>  > there is a standalone minibuffer frame, _then_ the focus
 >>  > for BUFFER's frame gets automatically redirected to the
 >>  > minibuffer frame.
 >>
 >> In my experience, this requirement is met if the construct requests
 >> input with BUFFER's window temporarily selected and BUFFER
 >> temporarily current.  Or am I missing something?
 >
 > Sorry, I don't know what that means.  Perhaps give an example of what you mean
 > by temporarily selected and current?

Temporarily selected means selected via `with-selected-window' and
temporarily current means `with-current-buffer'.

 >>  > handling needed - the construct can essentially be a no-op
 >>  > in that case (AFAICT).
 >>  >
 >>  > How something like this would be implemented I'm not sure.
 >>  > When the redirection would need to take place, to DTRT,
 >>  > I'm not sure.  Perhaps it would need to be done more than once.
 >>  >
 >>  > But an important further requirement is that nothing
 >>  > should prevent Emacs code in BODY or called from within
 >>  > BODY from switching the input focus to BUFFER's frame.
 >>
 >> I don't understand what BODY should contain.  Would this macro be
 >> responsible for displaying BUFFER?
 >
 > No, not as I was conceiving it.  I suppose that would be a possibility, but I
 > expect it is better to keep buffer display out of it.  That's why I said things
 > like "_if_ BUFFER gets displayed in its own frame".
 >
 > What I had in mind was that the macro would be responsible only for making sure
 > that minibuffer input gets (re-)directed to the minibuffer frame.  And that goes
 > for any code in BODY, including code that might pop up BUFFER.
 >
 > IOW, display of BUFFER would come (if it came) from BODY.
 >
 > But again, I'm just thinking out loud.  And it's probable that you see things
 > that I do not.

No.  Just that I don't have the slightest idea how to write a macro that
modifies the behavior of a `yes-or-no-p' dialog it calls.  read_minibuf
and the code for handling keyboard events do the redirecting.

 >>  > Likewise, nothing should prevent the user from explicitly
 >>  > switching the focus to BUFFER's frame.
 >>
 >> This is part of the `yes-or-no-p' dialog, nothing within the scope
 >> of the construct you propose.
 >
 > Can you elaborate?  I don't follow.

IIUC you want to modify the behavior of `yes-or-no-p' to redirect frame
focus in your sense.

 > No.  Again, during reading from the minibuffer it is quite possible for a user
 > to interact with other buffers and their frames.  I gave the example of
 > *Completions*.  The user can hit a key or use the mouse to change the input
 > focus temporarily to another frame - any frame.
 >
 > When the user does that s?he is executing code within BODY.  It is code that
 > reads from the minibuffer, but also code that implements any commands bound to
 > keys or mouse actions that the user uses during that minibuffer dialog.  That's
 > all I meant.

I'm afraid this gets too complicated for me.  You have to find someone
who understands such scenarios better than me.

 >>  > I do not expect that the problematic use case we've been
 >>  > discussing can be detected and dealt with correctly in an
 >>  > automatic way.  If the programmer intention
 >>
 >> Who is the programmer here?
 >
 > The person who writes the code that reads from the minibuffer, code that might
 > or might not be wrapped in the new macro, i.e., that might or might not want to
 > stipulate that BUFFER is not to receive the input focus.

The person who writes that code expects `yes-or-no-p' DTRT.

 >> I refer to the case where a minibuffer-equipped frame is popped up.
 >
 > I'd rather you didn't.  Let's not bring in new things.

Users with non-nil `pop-up-frames' who don't use minibuffer-only frames
do get a minibuffer-equipped frame popped up.  You can ignore them, I
can't.  And a user who excludes BUFFER from the list of specially
displayed buffers does a perfectly valid thing and can expect Emacs to
handle it as it currently does.

 > I don't know.  The only problems I am aware of for `w-t-b-w.el' are these:
 >
 > 1. Loss of special-displayness (a separate problem, but important if we're
 > talking about `w-t-b-w.el' as it stands now).
 >
 > 2. The fact that it limits itself to display of temporary buffers, whereas the
 > actual problem has to do with the temporary display of buffers.

Because I can safely kill a temporary buffer and remove its frame when
I'm done with the dialog.

 > And as far as you know, is the fact that the minibuffer frame is still used (as
 > it should be) due only to the fact that `yes-or-no-p' is used, or can I expect
 > that the minibuffer frame will be used in general?

Due to the fact that `yes-or-no-p' is called in a special way - with the
new window selected.

 >>  >> `with-temp-buffer-window' avoids that by asking the
 >>  >> `yes-or-no-p' question in the new frame.
 >
 > Dunno why I (or was it you?) said that.  I see the question in the minibuffer
 > frame, not the new frame.  Which is TRT.

To "see the question in the minibuffer frame" I ask it in the new 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.  And I have to remove the
frame because you complained that `save-window-excursion' cannot remove
a popped up frame.  And I can't kill a non-temporary buffer.

 >> The invoking code does not care.  It expects `display-buffer' and
 >> `yes-or-no-p' to take care of this.
 >
 > In the general case it is not `yes-or-no-p'.

It can do anything that reads from the minibuffer.

 > The informational frame?  I'd vote for `delete-frame', at least for my own use.
 > We might want to provide ways for the caller and/or the user to control both
 > what to do with the frame/window and what to do with the buffer.  But maybe
 > `frame-auto-hide-function' would make sense here?

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.

 > Anyway, let's talk about this later.

It's your choice.

martin






  reply	other threads:[~2012-08-06 15:29 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]                                                   ` <83! 4n@[87.69.210.75]>
     [not found]                                                   ` <8C! 6D5530BE0@[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]                                                                                                                                           ` <502!785DF.1040200@gmx.at>
     [not found]                                                                                                                                             ` <A5E13547EC48444192A20752F3F4FAF9@us.oracle.com!>
     [not found]                                                                                                                                               ` <5028! A8FD.60705@gmx .at>
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 [this message]
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
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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=501FE2DF.6030906@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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.