emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master ce4ec17: Fix display-buffer-override-next-command to call act


From: Stefan Monnier
Subject: Re: master ce4ec17: Fix display-buffer-override-next-command to call action only once (bug#39722)
Date: Sun, 21 Jun 2020 23:38:10 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

>>>     Fix display-buffer-override-next-command to call action only once 
>>> (bug#39722)
>> How do prefix commands using `display-buffer-override-next-command`
>> interact with other prefix commands such as `C-u`?
> They play nicely with all prefix commands, and even with the minibuffer:
> display-buffer-override-next-command comes into play only after exiting
> the minibuffer.

I'm not sure how.  I think `C-x 4 4` followed by `C-u` will work thanks
to the (eq this-command command) check (because
`prefix-command-preserve-state` does (setq this-command last-command)),
but I don't think the reverse will work.

Another problem I see in the code is that
`display-buffer-override-next-command` does

            (setq display-buffer-overriding-action
                  (delq action display-buffer-overriding-action))
       [...]
    (push action display-buffer-overriding-action)))

But `display-buffer-overriding-action` is not supposed to hold a list
of actions.

>> Any chance this can be merged/unified with `other-frame-window` code?
> What features do you miss from other-frame-window?

I'm not really worried about features but more about the code and about
what we've learned about the detailed interactions (i.e. trying to avoid
reinventing the same not-quite-circular wheel).  In terms of features
(besides the extra transient keymap which allows the use of shorter `C-x
4` and `C-x 5` prefixes and special bindings under those prefixes)
I suspect that there's the echo area feedback that's missing, tho I'm
not sure it works really well yet in `other-frame-window`.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]