GNU bug report logs - #78593
31.0.50; describe-key broken on interactive lambdas

Previous Next

Package: emacs;

Reported by: Madhu <enometh <at> meer.net>

Date: Mon, 26 May 2025 15:48:01 UTC

Severity: normal

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #37 received at 78593 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 78593 <at> debbugs.gnu.org, enometh <at> meer.net, stefankangas <at> gmail.com
Subject: Re: bug#78593: 31.0.50; describe-key broken on interactive lambdas
Date: Sun, 29 Jun 2025 07:55:27 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: enometh <at> meer.net,  stefankangas <at> gmail.com,  78593 <at> debbugs.gnu.org
> Date: Sat, 28 Jun 2025 17:20:33 -0400
> 
> >> > Stefan, this is due to your change:
> >> >
> >> >   commit a4ec9ca12969018cdf15b8cc713b3ba054326f99
> >> >   Author:     Stefan Kangas <stefankangas <at> gmail.com>
> >> >   AuthorDate: Tue Apr 1 21:25:33 2025 +0200
> >> >   Commit:     Stefan Kangas <stefankangas <at> gmail.com>
> >> >   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.

I agree.

> It's probably OK to signal errors for values which are not functions
> at all.  Not sure if it's worth the trouble, OTOH.

Ah, so you are saying that symbolp should have been functionp?  But
does functionp indeed return non-nil for all the function types for
which we want function-get to do its job?  E.g., what about macros of
special forms?

Or do we have another predicate that would cover all the cases?




This bug report was last modified 15 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.