1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 22:11:21 -08:00

Merge pull request from kovrik/master

Move :ensure option execution from macro expansion phase to runtime phase
GitHub-reference: https://github.com/jwiegley/use-package/issues/273
This commit is contained in:
John Wiegley 2015-11-09 18:58:21 -05:00
commit 734c5e7119

View file

@ -464,13 +464,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)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;