Subject: Re: bug#61505: [PATCH] Handle anonymous commands in C-h K

From: Stefan Kangas <[email-masked]>
Date: Wed, 10 Jan 2024 14:51:31 -0800

Version: 30.1

Eshel Yaron <[email-masked]> writes:

> Currently C-h K (Info-goto-emacs-key-command-node) throws an error when
> used on anonymous commands, for example:
>
> 1. emacs -Q
> 2. Evaluate this form:
>     (keymap-global-set "C-c m"
>                        (lambda ()
>                          (interactive)
>                          (message "foo")))
> 3. Type C-h K C-c m
> 4. Get this error:
>     Info-goto-emacs-command-node: Wrong type argument: symbolp, (closure (t) nil (interactive) (message "foo"))
>
> This patch makes Info-goto-emacs-key-command-node detect and handle such
> cases by printing an informative message instead of calling
> Info-goto-emacs-command-node.

Thanks, makes sense to me, so I installed it on master (9eed00c8e5a).

I changed the message to be slightly more clear in a followup commit to
look like this:

    C-c m invokes an anonymous command defined with ‘lambda’

I also made it use `substitute-command-keys'.