From: Ivan Goncharov Date: Tue, 3 Nov 2015 01:43:51 +0000 (+1300) Subject: Move :ensure option from macro expansion phase to runtime phase X-Git-Tag: emacs-29.0.90~1306^2~15^2~329^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ac47f783da;p=emacs.git Move :ensure option from macro expansion phase to runtime phase --- 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))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;