Subject: bug#77551: closed (Re: bug#77551: Regression in macroexpand from a4ec9ca (April 1))

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 05 Apr 2025 13:51:02 +0000

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 [email-masked].

-- 
77551: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77551
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#77551: Regression in macroexpand from a4ec9ca (April 1)
From: Daniel Mendler <[email-masked]>
To: [email-masked]
Date: Sat, 05 Apr 2025 15:50:06 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Daniel Mendler <[email-masked]> writes:

> Ship Mints <[email-masked]> 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

Subject: Re: Regression in macroexpand from a4ec9ca (April 1)
From: Daniel Mendler <[email-masked]>
To: Ship Mints <[email-masked]>
Cc: [email-masked], Stefan Kangas <[email-masked]>, Stefan Monnier <[email-masked]>
Date: Sat, 05 Apr 2025 15:39:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Ship Mints <[email-masked]> 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