summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2013-08-14 00:40:20 -0400
committerNoam Postavsky <npostavs@gmail.com>2013-10-12 14:25:38 -0400
commit29abf59bad60ab9098231ddf2957ee8c9e68637a (patch)
tree96f5e85371eabaee1e7b691668c4875a8b1f0a7e
parent119a30f2ba833146fc6bdb0165ea773223580362 (diff)
downloademacs-29abf59bad.tar.gz
macroexpand not needed
Since lambda thunking replaced quoting in a76d167. To see why, observe that cases 3 and 4 disassemble to identical code. The difference between cases 1 and 2 shows why the macroexpand was needed originally. (defmacro test-quote (name-string) `(eval-after-load "foo" `(with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-quote")))) (defmacro test-expand-quote (name-string) `(eval-after-load "foo" ,(macroexpand-all `(with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-expand-quote"))))) (defmacro test-lambda (name-string) `(eval-after-load "foo" `(,(lambda () (with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-lambda")))))) (defmacro test-expand-lambda (name-string) `(eval-after-load "foo" `(,(lambda () ,(macroexpand-all `(with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-lambda"))))))) (disassemble (lambda () (test-quote "testing..."))) (disassemble (lambda () (test-expand-quote "testing..."))) (disassemble (lambda () (test-lambda "testing..."))) (disassemble (lambda () (test-expand-lambda "testing...")))
-rw-r--r--lisp/use-package/use-package.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el
index ed63bd05620..eb3c7030108 100644
--- a/lisp/use-package/use-package.el
+++ b/lisp/use-package/use-package.el
@@ -653,10 +653,9 @@ For full documentation. please see commentary.
`(eval-after-load ,(if (stringp name) name `',name)
`(,(lambda ()
(if ,requires-test
- ,(macroexpand-all
- `(with-elapsed-timer
- ,(format "Configuring package %s" name-string)
- ,config-body)))))))
+ (with-elapsed-timer
+ ,(format "Configuring package %s" name-string)
+ ,config-body))))))
t))
`(if (and ,(or predicate t)
,requires-test)