[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53227: master: Wrong error message with M-: (funcall).
From: |
Stefan Monnier |
Subject: |
bug#53227: master: Wrong error message with M-: (funcall). |
Date: |
Thu, 13 Jan 2022 15:37:10 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Andreas Schwab [2022-01-13 16:37:09] wrote:
> On Jan 13 2022, Stefan Monnier via "Bug reports for GNU Emacs, the Swiss
> army knife of text editors" wrote:
>>> Same as bug #46636.
>> Actually, it's a different bug, tho its origin might be the same commit.
> It's coming from the same funcall rewrite rule.
I see you agree ;-)
The patch should hopefully fix both cases, tho as you can see the two
cases are fixed separately (which is what I mean by them being two
different bugs).
Stefan
diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el
index b44917f7d56..33ce55a3de8 100644
--- a/lisp/emacs-lisp/macroexp.el
+++ b/lisp/emacs-lisp/macroexp.el
@@ -366,14 +366,18 @@ macroexp--expand-all
form)
(macroexp--expand-all newform))))
- (`(funcall . ,(or `(,exp . ,args) pcase--dontcare))
+ (`(funcall ,exp . ,args)
(let ((eexp (macroexp--expand-all exp))
(eargs (macroexp--all-forms args)))
;; Rewrite (funcall #'foo bar) to (foo bar), in case `foo'
;; has a compiler-macro, or to unfold it.
(pcase eexp
- (`#',f (macroexp--expand-all `(,f . ,eargs)))
+ ((and `#',f
+ (guard (not (or (special-form-p f) (macrop f)))));; bug#46636
+ (macroexp--expand-all `(,f . ,eargs)))
(_ `(funcall ,eexp . ,eargs)))))
+ (`(funcall . ,_) form) ;bug#53227
+
(`(,func . ,_)
(let ((handler (function-get func 'compiler-macro))
(funargs (function-get func 'funarg-positions)))
- bug#53227: master: Wrong error message with M-: (funcall)., Alan Mackenzie, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Robert Pluim, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Lars Ingebrigtsen, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Andreas Schwab, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Stefan Monnier, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Andreas Schwab, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall).,
Stefan Monnier <=
- bug#53227: master: Wrong error message with M-: (funcall)., Andreas Schwab, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Stefan Monnier, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Andreas Schwab, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Stefan Monnier, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Andreas Schwab, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Stefan Monnier, 2022/01/13
- bug#53227: master: Wrong error message with M-: (funcall)., Andreas Schwab, 2022/01/14
- bug#53227: master: Wrong error message with M-: (funcall)., Stefan Monnier, 2022/01/14
- bug#53227: master: Wrong error message with M-: (funcall)., Lars Ingebrigtsen, 2022/01/14
- bug#53227: master: Wrong error message with M-: (funcall)., Stefan Monnier, 2022/01/14