summaryrefslogtreecommitdiff
path: root/src/callint.c
diff options
context:
space:
mode:
authorDaniel Colascione <dancol@dancol.org>2014-04-22 00:04:34 -0700
committerDaniel Colascione <dancol@dancol.org>2014-04-22 00:04:34 -0700
commit12b1389c9039dd374951673ca43b1ddf65df400d (patch)
treef4d36afc9d1ccdd72f3d801b350d79d25dd5e8bb /src/callint.c
parentc98212f9e7cef496dded06eba4476033062c171f (diff)
downloademacs-12b1389c9039dd374951673ca43b1ddf65df400d.tar.gz
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/callint.c')
-rw-r--r--src/callint.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/callint.c b/src/callint.c
index 35411bf9b5c..54f04cdee17 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -38,8 +38,8 @@ static Lisp_Object Qread_number;
Lisp_Object Qmouse_leave_buffer_hook;
-static Lisp_Object Qlist, Qlet, Qletx, Qsave_excursion, Qprogn, Qif;
-Lisp_Object Qwhen;
+static Lisp_Object Qlist, Qlet, Qletx, Qsave_excursion, Qif;
+Lisp_Object Qwhen, Qprogn;
static Lisp_Object preserved_fns;
/* Marker used within call-interactively to refer to point. */