Subject: bug#78593: 31.0.50; describe-key broken on interactive lambdas

From: Pip Cet <[email-masked]>
Date: Sat, 28 Jun 2025 22:27:46 +0000

"Stefan Monnier via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" <[email-masked]> writes:

>>> > Stefan, this is due to your change:
>>> >
>>> >   commit a4ec9ca12969018cdf15b8cc713b3ba054326f99
>>> >   Author:     Stefan Kangas <[email-masked]>
>>> >   AuthorDate: Tue Apr 1 21:25:33 2025 +0200
>>> >   Commit:     Stefan Kangas <[email-masked]>
>>> >   CommitDate: Tue Apr 1 21:25:33 2025 +0200
>>> >
>>> >       function-put: signal error with non-symbol
>>> >
>>> >       * lisp/subr.el (function-get): Signal an error if given a non-symbol
>>> >       for consistency with 'get'.
>>> >       * test/lisp/subr-tests.el (subr-butlast): Test for the above.
>>> >
>>> > Any reasons not to revert that?  function-get correctly returns nil if
>>> > its argument is not a symbol, so why should this signal an error?
>>>
>>> IMO, `function-get/put` should accept *functions* as arguments, not
>>> just symbols.

I'm a bit confused about function-put: are you saying that all functions
should have a plist (in a weak hash table?) that function-put
manipulates, or that we should silently ignore attempts to set a
function property on a non-symbol?

Pip