emacs-devel
[Top][All Lists]
Advanced

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

Re: Problem quitting properly from transient keymap with one keystroke


From: Stefan Monnier
Subject: Re: Problem quitting properly from transient keymap with one keystroke
Date: Fri, 20 Oct 2017 11:13:44 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

>> > I can't just add a post-command-hook that calls the transient map
>> > disable function because calling (keyboard-quit) from the
>> > post-command-hook triggers an error and I imagine that is not a proper
>> > usage scenario.
>> Why do you need a post-command-hook?
> HyControl uses post-command-hook to persist a prefix-argument value across
> commands and to continually display a help message in the minibuffer until
> exit.

But neither of those activities seem related to calling the exit
function or calling keyboard-quit.

> ​​Just curious, why does set-transient-map use pre-command-hook instead of
> post-command-hook​ to test whether or not to keep the transient-map
> enabled?

Because we need to know which is the next command before we know whether
to exit or not: E.g. after hitting C-u we don't know yet whether to
exit, it's only once the user hits the next key that we know whether to
exit (e.g. she pressed `a`) or stay (e.g. she pressed `5`).

And when she presses `a`, we need to exit *before* running the command
bound to `a`: sometimes it could be OK to linger on until the end of
the command bound to `a`, but not in general.


        Stefan




reply via email to

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