GNU bug report logs -
#50042
26.3; Post-command hooks slow with M-x commands
Previous Next
Reported by: sk <at> nomistech.com
Date: Fri, 13 Aug 2021 11:54:01 UTC
Severity: normal
Found in version 26.3
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> Simpler repro:
>
> (add-hook 'post-command-hook
> (lambda ()
> (let ((inhibit-message t))
> (message "foo: %s" this-command))))
> (display-buffer "*Messages*")
>
> M-x previous-line
[...]
> `execute-extended-command' ends with
>
> (when binding
> (with-temp-message
> (format-message "You can run the command `%s' with %s"
> function
> (if (stringp binding)
> (concat "M-x " binding " RET")
> (key-description binding)))
> (sit-for (if (numberp suggest-key-bindings)
> suggest-key-bindings
> 2))))))))
>
> So presumably `post-command-hook' isn't run after that timeout has
> completed.
[...]
> Could we yank this out of the flow and run it from a timer (fired
> immediately) instead?
Stefan, I forgot to put you on the CCs here -- I wondered whether you
had any ideas here. I think lifting this out of
`execute-extended-command' should be possible -- either by doing
something a la
(run-at-time 0 nil (lambda ()
(with-temp-message "The binding is foo"
(sit-for 1))))
or making `execute-extended-command' set a variable and do the messaging
from the "command loop" after running post-command-hook.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 3 years and 331 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.