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

Previous Next

Package: emacs;

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


View this message in rfc822 format

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'martin rudalics'" <rudalics <at> gmx.at>
Cc: 11939 <at> debbugs.gnu.org
Subject: bug#11939: 24.1; `save-buffers-kill-emacs' losesminibufferfocuswhenitcalls`list-processes'
Date: Sun, 12 Aug 2012 08:03:02 -0700
>  >> > I do not especially _like_ redefinining vanilla functions...
>  >>
>  >> I don't understand why you insist on using, advising, or 
>  >> redefining `special-display-popup-frame'.  Customizing
>  >> `display-buffer-base-action' should be all you want.
>  >
>  > What part of must-work-with-releases-other-than-just-24 
>  > did you not get?
> 
> Changing `special-display-popup-frame' for >= 24.2 would not 
> affect its behavior with < 24.2.

Fair enough.  I could provide a separate solution for >= 24.2.
Agreed.  And I'd be glad to learn how.

Perhaps I will provide a separate 24.2+ solution, once we have 24.2.  By that
time, based on past experience, it's quite possible that Emacs Dev will have
changed things in this area once again - perhaps even radically (again).  But
I'm certainly open to finding a solution that does not require redefining
`special-display-popup-frame'.

However:

1. `display-buffer-base-action' is a user option.  Users can set it to anything,
including things that do not do what my redefinition of `s-d-p-f' does, which is
to invoke `fit-frame'.  Advising me to customize `display-buffer-base-action'
does not speak to providing such functionality in a library for other users.

2. I do not yet understand `display-buffer-base-action' enough to know _how_ it
might be changed to DTRT here. [*]

3. Wrt #2, in particular, redefining `s-d-p-f' affects only those places in
Emacs that call `s-d-p-f', in particular, special-display stuff.  IIUC,
`display-buffer-base-action' is general and affects _all_ calls (and only calls)
to `display-buffer'.  How to make it affect only what `s-d-p-f' affects?

4. Wrt #2 & #3: Please let me know precisely how you think I could, now (e.g.,
for recent Emacs 24 builds plus your code, which I hope you will merge soon),
use `display-buffer-base-action' to get the effect of my redefinition of
`s-d-p-f'.

I'm open to your suggestion, but so far it is not concrete enough for me to see
how `display-buffer-base-action' might replace redefining `s-d-p-f', even for
Emacs >= 24.2.  What is no doubt obvious to you is not at all clear to me.


---

[*] FWIW, the `display-buffer-base-action' doc string is not very helpful:

 "It should be a cons cell (FUNCTION . ALIST), where FUNCTION is a
  function or a list of functions.  Each function should accept two
  arguments: a buffer to display and an alist similar to ALIST."

What does "similar" to ALIST mean here?  Plus, all the doc tells us is the
_form_ of the option value, not what the value means or how it is used.  Yes, it
sends us off to the doc for `display-buffer', but that is a labyrinthine jungle.





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.