aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorDaniel Colascione2014-04-22 00:04:34 -0700
committerDaniel Colascione2014-04-22 00:04:34 -0700
commit12b1389c9039dd374951673ca43b1ddf65df400d (patch)
treef4d36afc9d1ccdd72f3d801b350d79d25dd5e8bb /src/ChangeLog
parentc98212f9e7cef496dded06eba4476033062c171f (diff)
downloademacs-12b1389c9039dd374951673ca43b1ddf65df400d.tar.gz
emacs-12b1389c9039dd374951673ca43b1ddf65df400d.zip
Correctly macroexpand top-level forms during eager macroexpand
* lisp/emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile): Improve docstrings. * lisp/emacs-lisp/macroexp.el (internal-macroexpand-for-load): Add `full-p' parameter; when nil, call `macroexpand' instead of `macroexpand-all'. * src/lread.c (readevalloop_eager_expand_eval): New function that can recurse into toplevel forms. (readevalloop): Call it. * src/lisp.h: Declare Qprogn. * src/callint.c (Qprogn): No longer static. * test/automated/bytecomp-tests.el (test-byte-comp-compile-and-load): Add compile flag. (test-byte-comp-macro-expansion) (test-byte-comp-macro-expansion-eval-and-compile) (test-byte-comp-macro-expansion-eval-when-compile) (test-byte-comp-macro-expand-lexical-override): Use it. (test-eager-load-macro-expansion) (test-eager-load-macro-expansion-eval-and-compile) (test-eager-load-macro-expansion-eval-when-compile) (test-eager-load-macro-expand-lexical-override): New tests.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index bb05be04d3e..bb2e2bad555 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12014-04-22 Daniel Colascione <dancol@dancol.org>
2
3 * lread.c (readevalloop_eager_expand_eval): New function
4 that can recurse into toplevel forms.
5 (readevalloop): Call it.
6 * lisp.h: Declare Qprogn.
7 * callint.c (Qprogn): No longer static.
8
12014-04-19 Stefan Monnier <monnier@iro.umontreal.ca> 92014-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
2 10
3 * intervals.c (rotate_right, rotate_left): Fix up length computation. 11 * intervals.c (rotate_right, rotate_left): Fix up length computation.