aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2010-06-14 22:51:25 -0400
committerStefan Monnier2010-06-14 22:51:25 -0400
commit3c3ddb9833996729545bb4909bea359e5dbaa02e (patch)
treee128f878a1ef7b7bd3217ff2c0fb664feb6dffbb /lisp
parentf43cb6490878cb8f1dcb7e45044bc635f54d5951 (diff)
downloademacs-3c3ddb9833996729545bb4909bea359e5dbaa02e.tar.gz
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')
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/emacs-lisp/bytecomp.el5
2 files changed, 7 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index af456bd5d2e..856d4ea3898 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12010-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
4 Don't macroexpand before evaluating in eval-and-compile, in case
5 `body's macro expansion uses macros and functions defined in itself.
6
12010-06-14 Stefan Monnier <monnier@iro.umontreal.ca> 72010-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
2 8
3 * emacs-lisp/bytecomp.el (byte-compile-check-variable): 9 * emacs-lisp/bytecomp.el (byte-compile-check-variable):
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.")
479 (cons 'progn body) 479 (cons 'progn body)
480 byte-compile-initial-macro-environment)))))) 480 byte-compile-initial-macro-environment))))))
481 (eval-and-compile . (lambda (&rest body) 481 (eval-and-compile . (lambda (&rest body)
482 (byte-compile-eval-before-compile 482 (byte-compile-eval-before-compile (cons 'progn body))
483 (macroexpand-all
484 (cons 'progn body)
485 byte-compile-initial-macro-environment))
486 (cons 'progn body)))) 483 (cons 'progn body))))
487 "The default macro-environment passed to macroexpand by the compiler. 484 "The default macro-environment passed to macroexpand by the compiler.
488Placing a macro here will cause a macro to have different semantics when 485Placing a macro here will cause a macro to have different semantics when