Merge pull request from andreyorst/face-spec-set-third-argument

GitHub-reference: https://github.com/jwiegley/use-package/issues/1009
This commit is contained in:
John Wiegley 2022-10-29 14:57:19 -04:00 committed by GitHub
commit 6b25a41bc6
2 changed files with 9 additions and 2 deletions

View file

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

View file

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