branch: externals/use-package
commit 0be480ea77655304a4e6aa9d38d9d9a251b2bd32
Merge: 4095f1bdae 2dd93e0f6a
Author: John Wiegley <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #1009 from andreyorst/face-spec-set-third-argument
---
README.md | 4 ++--
use-package-core.el | 4 ++--
use-package-tests.el | 7 +++++++
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index bca3d2a195..984bee1ca1 100644
--- a/README.md
+++ b/README.md
@@ -481,9 +481,9 @@ The `:custom-face` keyword allows customization of package
custom faces.
(eruby-standard-face ((t (:slant italic)))))
(use-package example
- :custom-face
+ :custom-face
(example-1-face ((t (:foreground "LightPink"))))
- (example-2-face ((t (:foreground "LightGreen")))))
+ (example-2-face ((t (:foreground "LightGreen"))) face-defspec-spec))
(use-package zenburn-theme
:preface
diff --git a/use-package-core.el b/use-package-core.el
index 52d7abd4cb..53bc3ed2a4 100644
--- a/use-package-core.el
+++ b/use-package-core.el
@@ -1501,7 +1501,7 @@ no keyword implies `:all'."
(defun use-package-normalize/:custom-face (name-symbol _keyword arg)
"Normalize use-package custom-face keyword."
(let ((error-msg
- (format "%s wants a (<symbol> <face-spec>) or list of these"
+ (format "%s wants a (<symbol> <face-spec> [spec-type]) or list of
these"
name-symbol)))
(unless (listp arg)
(use-package-error error-msg))
@@ -1512,7 +1512,7 @@ no keyword implies `:all'."
(spec (nth 1 def)))
(when (or (not face)
(not spec)
- (> (length def) 2))
+ (> (length def) 3))
(use-package-error error-msg))))))
(defun use-package-handler/:custom-face (name _keyword args rest state)
diff --git a/use-package-tests.el b/use-package-tests.el
index 7d98ca99e4..185f7691ba 100644
--- a/use-package-tests.el
+++ b/use-package-tests.el
@@ -1172,6 +1172,13 @@
(backquote (example-2-face ((t (:foreground "LightGreen"))))))
(require 'example nil nil))))
+(ert-deftest use-package-test/:custom-face-3 ()
+ (match-expansion
+ (use-package foo :custom-face (foo ((t (:background "#e4edfc")))
face-defspec-spec))
+ `(progn
+ (apply #'face-spec-set (backquote (foo ((t (:background "#e4edfc")))
face-defspec-spec)))
+ (require 'foo nil nil))))
+
(ert-deftest use-package-test/:init-1 ()
(match-expansion
(use-package foo :init (init))