From ad8094c22d9a1bfbc1ad19bbbe3c164d1dae6850 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Thu, 22 Dec 2016 09:02:52 -0800 Subject: [PATCH] Add new customization option `use-package-always-demand` This is equivalent to adding `:demand t` to all `use-package` declarations, and has the same semantics as doing so (meaning it can be overridden locally using `:defer t` in a declaration). Fixes https://github.com/jwiegley/use-package/issues/423 --- lisp/use-package/use-package.el | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 29855044241..cfff54579bc 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -80,6 +80,11 @@ The check is performed by looking for the module using `locate-library'." :type 'boolean :group 'use-package) +(defcustom use-package-always-demand nil + "If non-nil, assume `:demand t` unless `:defer t` is given." + :type 'boolean + :group 'use-package) + (defcustom use-package-always-ensure nil "Treat every package as though it had specified `:ensure SEXP`." :type 'sexp @@ -1171,7 +1176,10 @@ this file. Usage: (let ((body (macroexp-progn - (use-package-process-keywords name args* + (use-package-process-keywords name + (if use-package-always-demand + (append args* '(:demand t)) + args*) (and use-package-always-defer (list :deferred t)))))) (if use-package-debug (display-buffer -- 2.39.2