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


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Daniel Mendler <mail <at> daniel-mendler.de>
Subject: bug#77551: closed (Re: bug#77551: Regression in macroexpand from
 a4ec9ca (April 1))
Date: Sat, 05 Apr 2025 13:51:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#77551: Regression in macroexpand from a4ec9ca (April 1)

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 77551 <at> debbugs.gnu.org.

-- 
77551: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77551
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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

[Message part 3 (message/rfc822, inline)]
From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Ship Mints <shipmints <at> gmail.com>
Cc: bug-gnu-emacs <at> gnu.org, Stefan Kangas <stefankangas <at> gmail.com>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: Regression in macroexpand from a4ec9ca (April 1)
Date: Sat, 05 Apr 2025 15:39:04 +0200
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



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.