GNU bug report logs - #46727
27.1; Only the first function from prefix-command-echo-keystrokes-functions is used

Previous Next

Package: emacs;

Reported by: Miha Rihtaršič <miha <at> kamnitnik.top>

Date: Tue, 23 Feb 2021 20:43:02 UTC

Severity: normal

Tags: fixed

Found in version 27.1

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Miha Rihtaršič <miha <at> kamnitnik.top>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.1; Only the first function from
 prefix-command-echo-keystrokes-functions is used
Date: Tue, 23 Feb 2021 21:44:29 +0100
[Message part 1 (text/plain, inline)]
Greetings.

Looking at the function internal-echo-keystrokes-prefix, it is heavily
implied that all functions from
`prefix-command-echo-keystrokes-functions` should be used and their
return values concatenated. This isn't the case, however, because
`run-hook-wrapped` aborts on first non-nil returned value. The following
simple patch fixes this.

diff --git a/lisp/simple.el b/lisp/simple.el
index 1dfc3374ad..403861351c 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4670,7 +4670,7 @@ internal-echo-keystrokes-prefix
     (setq prefix-command--last-echo
           (let ((strs nil))
             (run-hook-wrapped 'prefix-command-echo-keystrokes-functions
-                              (lambda (fun) (push (funcall fun) strs)))
+                              (lambda (fun) (push (funcall fun) strs) nil))
             (setq strs (delq nil strs))
             (when strs (mapconcat #'identity strs " "))))))
 

[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 4 years and 82 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.