summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2022-12-17 18:20:48 +0100
committerMattias EngdegÄrd <mattiase@acm.org>2022-12-18 14:48:54 +0100
commit68fb06f47fd09d36a3d1d35a4d24bf40489bea19 (patch)
tree01a2261dc1c0674345089e5bb9c3e7a13d1f0bf4 /lisp/emacs-lisp
parent2c2ecb46b0ad3e841ac9551e3a80d02893cdf6ec (diff)
downloademacs-68fb06f47fd09d36a3d1d35a4d24bf40489bea19.tar.gz
emacs-68fb06f47fd09d36a3d1d35a4d24bf40489bea19.tar.bz2
emacs-68fb06f47fd09d36a3d1d35a4d24bf40489bea19.zip
Fix compiler macro expansion bug
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): When a compiler-macro handler is re-invoked (after macro-expanding arguments), actually use the result instead of pointlessly dropping it on the floor.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/macroexp.el2
1 files changed, 1 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el
index f4df40249de..8953e5fd019 100644
--- a/lisp/emacs-lisp/macroexp.el
+++ b/lisp/emacs-lisp/macroexp.el
@@ -486,7 +486,7 @@ Assumes the caller has bound `macroexpand-all-environment'."
(setq form (macroexp--compiler-macro handler newform))
(if (eq newform form)
newform
- (macroexp--expand-all newform)))
+ (macroexp--expand-all form)))
(macroexp--expand-all newform))))))
(_ form))))
(pop byte-compile-form-stack)))