diff options
| -rw-r--r-- | lisp/faces.el | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lisp/faces.el b/lisp/faces.el index c3acc061a6d..3edd33ae546 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -219,8 +219,19 @@ A face is considered to be ``the same'' as the default face if it is | |||
| 219 | actually specified in the same way (equal attributes) or if it is | 219 | actually specified in the same way (equal attributes) or if it is |
| 220 | fully-unspecified, and thus inherits the attributes of any face it | 220 | fully-unspecified, and thus inherits the attributes of any face it |
| 221 | is displayed on top of." | 221 | is displayed on top of." |
| 222 | (or (internal-lisp-face-empty-p face frame) | 222 | (cond ((eq frame t) (setq frame nil)) |
| 223 | (not (internal-lisp-face-equal-p face 'default frame)))) | 223 | ((null frame) (setq frame (selected-frame)))) |
| 224 | (let* ((v1 (internal-lisp-face-p face frame)) | ||
| 225 | (n (if v1 (length v1) 0)) | ||
| 226 | (v2 (internal-lisp-face-p 'default frame)) | ||
| 227 | (i 1)) | ||
| 228 | (unless v1 | ||
| 229 | (error "Not a face: %S" face)) | ||
| 230 | (while (and (< i n) | ||
| 231 | (or (eq 'unspecified (aref v1 i)) | ||
| 232 | (equal (aref v1 i) (aref v2 i)))) | ||
| 233 | (setq i (1+ i))) | ||
| 234 | (< i n))) | ||
| 224 | 235 | ||
| 225 | 236 | ||
| 226 | (defun face-nontrivial-p (face &optional frame) | 237 | (defun face-nontrivial-p (face &optional frame) |