diff options
author | John Wiegley <johnw@newartisans.com> | 2017-12-06 06:01:49 +0000 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2017-12-06 06:02:28 +0000 |
commit | 2cd3ebd5d5940b10e6eb17b27af155c4368f6dbd (patch) | |
tree | 2937c9115128e4cfe8e641d3fa563442774c7189 /lisp/use-package | |
parent | b2b91af2e5479a7959630cb1869241f8615a940a (diff) | |
download | emacs-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.el | 13 |
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. |