Sort keywords at the appropriate time

This commit is contained in:
John Wiegley 2017-12-01 00:44:49 -08:00
parent af8b961716
commit 669e8527fb

View file

@ -1741,11 +1741,10 @@ this file. Usage:
(orig-args args) (orig-args args)
(args (use-package-normalize-plist name args))) (args (use-package-normalize-plist name args)))
(dolist (spec use-package-defaults) (dolist (spec use-package-defaults)
(setq args (use-package-sort-keywords (setq args (if (eval (nth 2 spec))
(if (eval (nth 2 spec)) (use-package-plist-maybe-put
(use-package-plist-maybe-put args (nth 0 spec) (eval (nth 1 spec)))
args (nth 0 spec) (eval (nth 1 spec))) args)))
args))))
;; When byte-compiling, pre-load the package so all its symbols are in ;; When byte-compiling, pre-load the package so all its symbols are in
;; scope. ;; scope.
@ -1769,10 +1768,12 @@ this file. Usage:
(let ((body (let ((body
(macroexp-progn (macroexp-progn
(use-package-process-keywords name (use-package-process-keywords name
(let ((args* (if (and use-package-always-demand (let ((args*
(not (memq :defer args))) (use-package-sort-keywords
(append args '(:demand t)) (if (and use-package-always-demand
args))) (not (memq :defer args)))
(plist-put args :demand t)
args))))
(when (and use-package-always-ensure (when (and use-package-always-ensure
(plist-member args* :load-path) (plist-member args* :load-path)
(not (plist-member orig-args :ensure))) (not (plist-member orig-args :ensure)))