[PATCH] Fix notmuch-describe-key

Matt Armstrong marmstrong at google.com
Mon Mar 4 17:55:50 PST 2019


Yang Sheng <yangsheng6810 at gmail.com> writes:

> Fix notmuch-describe-key crashing for the following two cases
> 1. format-kbd-macro cannot deal with keys like [(32 . 126)], switch to
> use key-description instead.
> 2. if a function in the current keymap is not bounded, it will crash
> the whole process. We check if it is bounded and silently skip it to
> avoid crashing.

Can you describe case 2 in more detail?  I am wondering what "crash the
whole process means" -- Emacs itself crashes?  If so, is there an Emacs
bug filed for it?  Also, perhaps the bug should be worked around with in
notmuch-documentation-first-line itself, rather than its caller?

 
> ---
>  emacs/notmuch-lib.el | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
> index 8cf7261e..546ab6fd 100644
> --- a/emacs/notmuch-lib.el
> +++ b/emacs/notmuch-lib.el
> @@ -298,7 +298,7 @@ This is basically just `format-kbd-macro' but we also convert ESC to M-."
>    "Prepend cons cells describing prefix-arg ACTUAL-KEY and ACTUAL-KEY to TAIL
>  
>  It does not prepend if ACTUAL-KEY is already listed in TAIL."
> -  (let ((key-string (concat prefix (format-kbd-macro actual-key))))
> +  (let ((key-string (concat prefix (key-description actual-key))))
>      ;; We don't include documentation if the key-binding is
>      ;; over-ridden. Note, over-riding a binding automatically hides the
>      ;; prefixed version too.
> @@ -313,7 +313,7 @@ It does not prepend if ACTUAL-KEY is already listed in TAIL."
>        ;; Documentation for command
>        (push (cons key-string
>  		  (or (and (symbolp binding) (get binding 'notmuch-doc))
> -		      (notmuch-documentation-first-line binding)))
> +		      (and (functionp binding) (notmuch-documentation-first-line binding))))
>  	    tail)))
>      tail)
>  
> -- 
> 2.20.1


More information about the notmuch mailing list