summaryrefslogtreecommitdiff
path: root/lisp/use-package
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2017-12-06 06:01:49 +0000
committerJohn Wiegley <johnw@newartisans.com>2017-12-06 06:02:28 +0000
commit2cd3ebd5d5940b10e6eb17b27af155c4368f6dbd (patch)
tree2937c9115128e4cfe8e641d3fa563442774c7189 /lisp/use-package
parentb2b91af2e5479a7959630cb1869241f8615a940a (diff)
downloademacs-2cd3ebd5d5940b10e6eb17b27af155c4368f6dbd.tar.gz
emacs-2cd3ebd5d5940b10e6eb17b27af155c4368f6dbd.tar.bz2
emacs-2cd3ebd5d5940b10e6eb17b27af155c4368f6dbd.zip
Allow the expansion of :after (:or foo bar) to be byte-compiled
Diffstat (limited to 'lisp/use-package')
-rw-r--r--lisp/use-package/use-package-core.el13
1 files changed, 5 insertions, 8 deletions
diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el
index cacd74b256f..7ed5b7482e1 100644
--- a/lisp/use-package/use-package-core.el
+++ b/lisp/use-package/use-package-core.el
@@ -643,14 +643,11 @@ no more than once."
(let ((loaded (cl-gensym "use-package--loaded"))
(result (cl-gensym "use-package--result"))
(next (cl-gensym "use-package--next")))
- `((defconst ,loaded nil)
- (defconst ,result nil)
- (defconst ,next #'(lambda ()
- (if ,loaded
- ,result
- (setq ,loaded t)
- (setq ,result ,arg))))
- ,@(funcall f `((funcall ,next))))))
+ `((lexical-let (,loaded ,result)
+ ,@(funcall f `((if ,loaded
+ ,result
+ (setq ,loaded t)
+ (setq ,result ,arg))))))))
(defsubst use-package-normalize-value (label arg)
"Normalize the Lisp value given by ARG.