diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-06-14 22:51:25 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-06-14 22:51:25 -0400 |
commit | 3c3ddb9833996729545bb4909bea359e5dbaa02e (patch) | |
tree | e128f878a1ef7b7bd3217ff2c0fb664feb6dffbb /lisp/emacs-lisp | |
parent | f43cb6490878cb8f1dcb7e45044bc635f54d5951 (diff) | |
download | emacs-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.el | 5 |
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 |