From 3343cca33bd7b167cb01471be278bb9b5e6c910a Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Tue, 5 Dec 2017 15:47:53 -0800 Subject: [PATCH] Don't auto-defer if the package itself was given to :load Otherwise, we'd be senselessly waiting for the package to load. --- lisp/use-package/use-package-core.el | 4 ++++ test/lisp/use-package/use-package-tests.el | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el index 9d55074b19d..729696abf89 100644 --- a/lisp/use-package/use-package-core.el +++ b/lisp/use-package/use-package-core.el @@ -552,6 +552,10 @@ extending any keys already present." ;; Certain keywords imply :defer, if :demand was not specified. (when (and (not (plist-member args :demand)) (not (plist-member args :defer)) + (not (or (equal '(t) (plist-get args :load)) + (equal (list (use-package-as-string name)) + (mapcar #'use-package-as-string + (plist-get args :load))))) (cl-some #'identity (mapcar (apply-partially #'plist-member args) use-package-deferring-keywords))) diff --git a/test/lisp/use-package/use-package-tests.el b/test/lisp/use-package/use-package-tests.el index 1169de5147a..cbfb98da0c0 100644 --- a/test/lisp/use-package/use-package-tests.el +++ b/test/lisp/use-package/use-package-tests.el @@ -1044,6 +1044,27 @@ (ignore (add-hook 'hook-special #'fun)))))) +(ert-deftest use-package-test/:hook-5 () + (match-expansion + (use-package erefactor + :load-path "foo" + :after elisp-mode + :load t + :hook (emacs-lisp-mode + . (lambda () + (bind-key "\C-c\C-v" erefactor-map emacs-lisp-mode-map)))) + `(progn + (eval-and-compile + (add-to-list 'load-path ,(pred stringp))) + (eval-after-load 'elisp-mode + '(progn + (require 'erefactor nil nil) + (ignore + (add-hook + 'emacs-lisp-mode-hook + #'(lambda nil + (bind-key "" erefactor-map emacs-lisp-mode-map))))))))) + (ert-deftest use-package-test-normalize/:custom () (flet ((norm (&rest args) (apply #'use-package-normalize/:custom -- 2.39.2