]> git.eshelyaron.com Git - emacs.git/commitdiff
Move :ensure option from macro expansion phase to runtime phase
authorIvan Goncharov <kovrik0@gmail.com>
Tue, 3 Nov 2015 01:43:51 +0000 (14:43 +1300)
committerIvan Goncharov <kovrik0@gmail.com>
Tue, 3 Nov 2015 01:43:51 +0000 (14:43 +1300)
lisp/use-package/use-package.el

index 0fb6734ab487c508549bb04c844a335cba050479..18d7031f272afc32006d7825c6395a2474657d84 100644 (file)
@@ -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))) 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;