summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-01-22 02:23:21 +0000
committerRichard M. Stallman <rms@gnu.org>1998-01-22 02:23:21 +0000
commit5428ee0299d1a757ed2459342104354b1ab98708 (patch)
tree72fd2a58cd3ece934279fca4b0686884f05fb788 /lisp/emacs-lisp
parent76b233658bb80688a4c1f8d208fc2a4a065ecab6 (diff)
downloademacs-5428ee0299d1a757ed2459342104354b1ab98708.tar.gz
emacs-5428ee0299d1a757ed2459342104354b1ab98708.tar.bz2
emacs-5428ee0299d1a757ed2459342104354b1ab98708.zip
(byte-optimize-form-code-walker):
If compiler-macroexpand is defined, use it.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/byte-opt.el7
1 files changed, 7 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index be958e53abb..90154728f34 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -504,6 +504,13 @@
(setq form (macroexpand form
byte-compile-macro-environment))))
(byte-optimize-form form for-effect))
+
+ ;; Support compiler macros as in cl.el.
+ ((and (fboundp 'compiler-macroexpand)
+ (not (eq form
+ (setq form (compiler-macroexpand form
+ byte-compile-macro-environment)))))
+ (byte-optimize-form form for-effect))
((not (symbolp fn))
(or (eq 'mocklisp (car-safe fn)) ; ha!