Previous code would signal an error when the face at point was
a manually built list of attributes such as '(:foregroud "white").
* test/automated/faces-tests.el (faces--test-color-at-point): Add a test
(get-char-property (point) 'font-lock-face))
(get-char-property (point) 'face)))
(found nil))
- (dolist (face (if (listp faces) faces (list faces)))
+ ;; The attribute might be a face, a list of faces, or a list of
+ ;; attributes that make a face. Normalize it to a list of faces.
+ (dolist (face (if (and (listp faces) (facep (car faces)))
+ faces
+ (list faces)))
(cond (found)
((and face (symbolp face))
(let ((value (face-attribute-specified-or
(goto-char (point-min))
(should (equal (background-color-at-point) "black"))
(should (equal (foreground-color-at-point) "black")))
+ (with-temp-buffer
+ (insert (propertize "STRING" 'face '(:foreground "black" :background "black")))
+ (goto-char (point-min))
+ (should (equal (background-color-at-point) "black"))
+ (should (equal (foreground-color-at-point) "black")))
(with-temp-buffer
(emacs-lisp-mode)
(setq-local font-lock-comment-face 'faces--test1)