Subject: bug#70209: 30.0.50; describe key + lambda too poetic

From: No Wayman <[email-masked]>
Date: Fri, 05 Apr 2024 16:58:11 -0400

Stefan Monnier <[email-masked]> writes:

> Thank you for your enjoyable bug report and the suggested patch.

:)

> Actually, I think this won't help because in my test the `car` 
> of `def`
> is `closure` rather than `lambda`.
>
> I installed the patch below instead.
> diff --git a/lisp/help-fns.el b/lisp/help-fns.el
> index a291893e9a2..27011575333 100644

With patch applied, thy *scratch* prepared to itch which I bemoan,
*Help* link replied, its ink ensnared, with "lambda, type 
 Unknown."[1]
Apostrophized: "Be tossed, repaired, my user-error thrown!"
With paren pride, I then declared a test which I have shown.[2]
Test now revised as thou compared. Composure hath no throne
when teary-eyed, in fear I blared, "My closure! Type Unknown?"

[1]:
emacs -Q --batch \
--eval '(global-set-key (kbd "c") `(lambda () (interactive) t)))' 
  \
--eval '(describe-key "c")' \
--eval '(with-current-buffer "*Help*"
           (forward-button 2)
           (push-button)
           (print (buffer-substring-no-properties (point-min) 
           (point-max))))'

Unknown type lambda

[2]:
emacs -Q --batch \
--eval '(global-set-key (kbd "c") (lambda () (interactive) t)))' \
--eval '(describe-key "c")' \
--eval '(with-current-buffer "*Help*"
           (forward-button 2)
           (push-button)
           (print (buffer-substring-no-properties (point-min) 
           (point-max))))'

Unknown type closure