branch: externals/use-package
commit 0be480ea77655304a4e6aa9d38d9d9a251b2bd32
Merge: 4095f1bdae 2dd93e0f6a
Author: John Wiegley <jo...@newartisans.com>
Commit: GitHub <nore...@github.com>

    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))

Reply via email to