]> code.delx.au - gnu-emacs/blobdiff - lisp/faces.el
* lisp/faces.el (faces--attribute-at-point): Fix bug
[gnu-emacs] / lisp / faces.el
index 8c5480905a15cf3d75aa131e85dd0aa8fc722a1c..f96df057cbdc022587d8c24f779457c350c91026 100644 (file)
@@ -1965,12 +1965,13 @@ If ATTRIBUTE-UNNAMED is non-nil, it is a symbol to look for in
 unnamed faces (e.g, `foreground-color')."
   ;; `face-at-point' alone is not sufficient.  It only gets named faces.
   ;; Need also pick up any face properties that are not associated with named faces.
-  (let (found)
-    (dolist (face (or (get-char-property (point) 'read-face-name)
-                      ;; If `font-lock-mode' is on, `font-lock-face' takes precedence.
-                      (and font-lock-mode
-                           (get-char-property (point) 'font-lock-face))
-                      (get-char-property (point) 'face)))
+  (let ((faces (or (get-char-property (point) 'read-face-name)
+                   ;; If `font-lock-mode' is on, `font-lock-face' takes precedence.
+                   (and font-lock-mode
+                        (get-char-property (point) 'font-lock-face))
+                   (get-char-property (point) 'face)))
+        (found nil))
+    (dolist (face (if (listp faces) faces (list faces)))
       (cond (found)
             ((and face (symbolp face))
              (let ((value (face-attribute-specified-or