GNU bug report logs - #53227
master: Wrong error message with M-: (funcall).

Previous Next

Package: emacs;

Reported by: Alan Mackenzie <acm <at> muc.de>

Date: Thu, 13 Jan 2022 07:40:02 UTC

Severity: minor

Tags: patch

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 53227 <at> debbugs.gnu.org, acm <at> muc.de, larsi <at> gnus.org, rpluim <at> gmail.com
Subject: bug#53227: master: Wrong error message with M-: (funcall).
Date: Fri, 14 Jan 2022 10:55:40 +0100
On Jan 13 2022, Stefan Monnier wrote:

>>>     (`(funcall . ,_) form)            ;bug#53227
>>>
>>> is then present to make sure the first change doesn't worsen the
>>> rest of the resulting macroexpanded code.
>>
>> I don't understand.  How much better than (funcall) can it get?
>
> I'm not talking about the quality of the code output by
> `macroexp--expand-all` but about the quality of the code *of*
> `macroexp--expand-all`.

You mean this?

@@ -534,16 +534,14 @@ byte code for macroexp--expand-all:
 431	stack-ref 3
 432	call	  2
 433	return	  
-434:28	stack-ref 2
-435	stack-ref 5
-436	stack-ref 3
-437	call	  2
-438	return	  
-439:29	stack-ref 1
-440	stack-ref 4
-441	stack-ref 2
-442	call	  2
-443	return	  
-444:30	stack-ref 2
-445	car-safe  
-446	return	  
+434:28	stack-ref 4
+435	car-safe  
+436	return	  
+437:29	stack-ref 1
+438	stack-ref 4
+439	stack-ref 2
+440	call	  2
+441	return	  
+442:30	stack-ref 2
+443	car-safe  
+444	return	  

Hardly worth optimizing for a case that never occurs, IMHO.

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."




This bug report was last modified 3 years and 178 days ago.

Previous Next


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