diff options
author | Daniel Colascione <dancol@dancol.org> | 2014-04-22 00:04:34 -0700 |
---|---|---|
committer | Daniel Colascione <dancol@dancol.org> | 2014-04-22 00:04:34 -0700 |
commit | 12b1389c9039dd374951673ca43b1ddf65df400d (patch) | |
tree | f4d36afc9d1ccdd72f3d801b350d79d25dd5e8bb /src/callint.c | |
parent | c98212f9e7cef496dded06eba4476033062c171f (diff) | |
download | emacs-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.c | 4 |
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. */ |