summaryrefslogtreecommitdiff
path: root/lisp/use-package/use-package.el
diff options
context:
space:
mode:
authorIvan Goncharov <kovrik0@gmail.com>2015-11-03 14:43:51 +1300
committerIvan Goncharov <kovrik0@gmail.com>2015-11-03 14:43:51 +1300
commitac47f783da34350eee19fe855d57469aa743d037 (patch)
tree870cd1647728138d9fca04ac23b120a085cb9e32 /lisp/use-package/use-package.el
parentff8bdfcdca1901e3920d1c1d12d753f855260ebe (diff)
downloademacs-ac47f783da34350eee19fe855d57469aa743d037.tar.gz
emacs-ac47f783da34350eee19fe855d57469aa743d037.tar.bz2
emacs-ac47f783da34350eee19fe855d57469aa743d037.zip
Move :ensure option from macro expansion phase to runtime phase
Diffstat (limited to 'lisp/use-package/use-package.el')
-rw-r--r--lisp/use-package/use-package.el12
1 files changed, 5 insertions, 7 deletions
diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el
index 0fb6734ab48..18d7031f272 100644
--- a/lisp/use-package/use-package.el
+++ b/lisp/use-package/use-package.el
@@ -463,13 +463,11 @@ manually updated package."
(defun use-package-handler/:ensure (name keyword ensure rest state)
(let ((body (use-package-process-keywords name rest state)))
- ;; This happens at macro expansion time, not when the expanded code is
- ;; compiled or evaluated.
- (let ((package-name (or (and (eq ensure t) (use-package-as-symbol name)) ensure)))
- (when package-name
- (require 'package)
- (use-package-ensure-elpa package-name)))
- body))
+ `((let ((package-name (or (and (eq ,ensure t) (use-package-as-symbol ',name)) ,ensure)))
+ (when package-name
+ (require 'package)
+ (use-package-ensure-elpa package-name)))
+ ,@body)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;