GNU bug report logs - #77551
Regression in macroexpand from a4ec9ca (April 1)

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Sat, 5 Apr 2025 13:40:02 UTC

Severity: normal

Done: Daniel Mendler <mail <at> daniel-mendler.de>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 77551-done <at> debbugs.gnu.org (full text, mbox):

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: 77551-done <at> debbugs.gnu.org
Subject: Re: bug#77551: Regression in macroexpand from a4ec9ca (April 1)
Date: Sat, 05 Apr 2025 15:50:06 +0200
Daniel Mendler <mail <at> daniel-mendler.de> writes:

> Ship Mints <shipmints <at> gmail.com> writes:
>
>> Below found in the wild expanding a macro from Daniel's marginalia package.
>>
>> Emacs 30
>> (macroexpand-all '(foo bar)) -> (foo bar)
>> (macroexpand-all '((foo) bar)) -> ((foo) bar)
>>
>> master
>> (macroexpand-all '(foo bar)) -> (foo bar)
>> (macroexpand-all '((foo) bar)) -> signals an error
>>
>> Debugger entered--Lisp error: (wrong-type-argument symbolp (foo))
>>   signal(wrong-type-argument (symbolp (foo)))
>>   function-get((foo) compiler-macro)
>>
>> Whether this is an intended or unintended consequence, I can't say, not
>> being a macro expert.
>
> To give some context - `function-get' and `function-put' have recently
> been changed to signal an error on non-symbol arguments in commit
> 4ec9ca12969018cdf15b8cc713b3ba054326f99 by Stefan Kangas. The problem is
> that the macro expander calls `function-get' on arbitrary values in
> function position.
>
> Daniel

The second bug report has been created accidentally. Closing. See
bug#77550 instead.

Daniel




This bug report was last modified 45 days ago.

Previous Next


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