summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2020-06-18 11:04:04 -0700
committerGitHub <noreply@github.com>2020-06-18 11:04:04 -0700
commit4e72885f852604dc17c5bd543dc6cb88c44cf2f1 (patch)
tree8260e86eed475b85670245e83196fb4809dc8966
parent218687d8979b1d6e2d5caee636372725a74ba0d9 (diff)
parent203d15e34e99ac6bbe05bd10b2e849bd98d78d31 (diff)
downloademacs-4e72885f85.tar.gz
Merge pull request from jjlee/call-hooks-even-if-no-config
GitHub-reference: https://github.com/jwiegley/use-package/issues/840
-rw-r--r--lisp/use-package/use-package-core.el2
-rw-r--r--test/lisp/use-package/use-package-tests.el31
2 files changed, 32 insertions, 1 deletions
diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el
index 1d637dbf3d0..e81e229a2f0 100644
--- a/lisp/use-package/use-package-core.el
+++ b/lisp/use-package/use-package-core.el
@@ -1468,7 +1468,7 @@ no keyword implies `:all'."
(use-package-concat
(when use-package-compute-statistics
`((use-package-statistics-gather :config ',name nil)))
- (if (or (null arg) (equal arg '(t)))
+ (if (and (or (null arg) (equal arg '(t))) (not use-package-inject-hooks))
body
(use-package-with-elapsed-timer
(format "Configuring package %s" name-symbol)
diff --git a/test/lisp/use-package/use-package-tests.el b/test/lisp/use-package/use-package-tests.el
index 04a653e30e8..61438185373 100644
--- a/test/lisp/use-package/use-package-tests.el
+++ b/test/lisp/use-package/use-package-tests.el
@@ -1474,6 +1474,37 @@
(config)
t))))))
+(ert-deftest use-package-test/pre-post-hooks-with-:config ()
+ (let ((use-package-inject-hooks t))
+ (match-expansion
+ (use-package foo :config (config))
+ `(progn
+ (when
+ (run-hook-with-args-until-failure 'use-package--foo--pre-init-hook)
+ (run-hooks 'use-package--foo--post-init-hook))
+ (require 'foo nil nil)
+ (when
+ (run-hook-with-args-until-failure 'use-package--foo--pre-config-hook)
+ (config)
+ (run-hooks 'use-package--foo--post-config-hook))
+ t))))
+
+(ert-deftest use-package-test/pre-post-hooks-without-:config ()
+ ;; https://github.com/jwiegley/use-package/issues/785
+ (let ((use-package-inject-hooks t))
+ (match-expansion
+ (use-package foo)
+ `(progn
+ (when
+ (run-hook-with-args-until-failure 'use-package--foo--pre-init-hook)
+ (run-hooks 'use-package--foo--post-init-hook))
+ (require 'foo nil nil)
+ (when
+ (run-hook-with-args-until-failure 'use-package--foo--pre-config-hook)
+ t
+ (run-hooks 'use-package--foo--post-config-hook))
+ t))))
+
(ert-deftest use-package-test-normalize/:diminish ()
(should (equal (use-package-normalize-diminish 'foopkg :diminish nil)
'(foopkg-mode)))