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

From: Stefan Monnier <[email-masked]>
Date: Sat, 28 Jun 2025 17:20:33 -0400

>> > 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.
>
> Not sure I understand: are you saying that it was wrong for me to
> revert that commit?

No, but just pointing out that signaling errors for functions which are
not symbols was the core of the problem.  It's probably OK to signal
errors for values which are not functions at all.  Not sure if it's
worth the trouble, OTOH.

        Stefan