summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-06-14 22:51:25 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2010-06-14 22:51:25 -0400
commit3c3ddb9833996729545bb4909bea359e5dbaa02e (patch)
treee128f878a1ef7b7bd3217ff2c0fb664feb6dffbb /lisp/emacs-lisp
parentf43cb6490878cb8f1dcb7e45044bc635f54d5951 (diff)
downloademacs-3c3ddb9833996729545bb4909bea359e5dbaa02e.tar.gz
emacs-3c3ddb9833996729545bb4909bea359e5dbaa02e.tar.bz2
emacs-3c3ddb9833996729545bb4909bea359e5dbaa02e.zip
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Don't macroexpand before evaluating in eval-and-compile, in case `body's macro expansion uses macros and functions defined in itself. * src/bytecode.c (exec_byte_code): * src/eval.c (Ffunctionp): Fix up int/Lisp_Object confusions.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el5
1 files changed, 1 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 490d928c5a0..df93528683c 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -479,10 +479,7 @@ This list lives partly on the stack.")
(cons 'progn body)
byte-compile-initial-macro-environment))))))
(eval-and-compile . (lambda (&rest body)
- (byte-compile-eval-before-compile
- (macroexpand-all
- (cons 'progn body)
- byte-compile-initial-macro-environment))
+ (byte-compile-eval-before-compile (cons 'progn body))
(cons 'progn body))))
"The default macro-environment passed to macroexpand by the compiler.
Placing a macro here will cause a macro to have different semantics when