From ac47f783da34350eee19fe855d57469aa743d037 Mon Sep 17 00:00:00 2001 From: Ivan Goncharov Date: Tue, 3 Nov 2015 14:43:51 +1300 Subject: [PATCH] Move :ensure option from macro expansion phase to runtime phase --- lisp/use-package/use-package.el | 12 +++++------- 1 file 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))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -- 2.39.2