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 " "))))))