GNU bug report logs -
#77551
Regression in macroexpand from a4ec9ca (April 1)
Previous Next
To reply to this bug, email your comments to 77551 AT debbugs.gnu.org.
There is no need to reopen the bug first.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#77551
; Package
emacs
.
(Sat, 05 Apr 2025 13:40:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Daniel Mendler <mail <at> daniel-mendler.de>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 05 Apr 2025 13:40:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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
Reply sent
to
Daniel Mendler <mail <at> daniel-mendler.de>
:
You have taken responsibility.
(Sat, 05 Apr 2025 13:51:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Daniel Mendler <mail <at> daniel-mendler.de>
:
bug acknowledged by developer.
(Sat, 05 Apr 2025 13:51:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 77551-done <at> debbugs.gnu.org (full text, mbox):
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 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.