diff options
author | Ivan Goncharov <kovrik0@gmail.com> | 2015-11-03 14:43:51 +1300 |
---|---|---|
committer | Ivan Goncharov <kovrik0@gmail.com> | 2015-11-03 14:43:51 +1300 |
commit | ac47f783da34350eee19fe855d57469aa743d037 (patch) | |
tree | 870cd1647728138d9fca04ac23b120a085cb9e32 /lisp/use-package/use-package.el | |
parent | ff8bdfcdca1901e3920d1c1d12d753f855260ebe (diff) | |
download | emacs-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.el | 12 |
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))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; |