1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-12 16:23:57 +00:00

Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-368

Improve display-supports-face-attributes-p on non-ttys
This commit is contained in:
Miles Bader 2004-06-04 02:50:11 +00:00
parent 3dfbc6d877
commit 421c91e527
2 changed files with 24 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2004-06-04 Miles Bader <miles@gnu.org>
* faces.el (display-supports-face-attributes-p): Implement a
`different from default' check for non-tty displays.
2004-06-03 David Kastrup <dak@gnu.org>
* woman.el (woman-mapcan): More concise code.

View File

@ -1510,11 +1510,25 @@ face for italic."
(if (framep display)
display
(car (frames-on-display-list display)))))
;; For now, we assume that non-tty displays can support everything.
;; Later, we should add the ability to query about specific fonts,
;; colors, etc.
(or (memq (framep frame) '(x w32 mac))
(tty-supports-face-attributes-p attributes frame))))
(if (not (memq (framep frame) '(x w32 mac)))
;; On ttys, `tty-supports-face-attributes-p' does all the work we need.
(tty-supports-face-attributes-p attributes frame)
;; For now, we assume that non-tty displays can support everything,
;; and so we just check to see if any of the specified attributes is
;; different from the default -- though this probably isn't always
;; accurate for font-related attributes. Later, we should add the
;; ability to query about specific fonts, colors, etc.
(while (and attributes
(let* ((attr (car attributes))
(val (cadr attributes))
(default-val (face-attribute 'default attr frame)))
(if (and (stringp val) (stringp default-val))
;; compare string attributes case-insensitively
(eq (compare-strings val nil nil default-val nil nil t)
t)
(equal val default-val))))
(setq attributes (cddr attributes)))
(not (null attributes)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;