aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2002-06-11 01:50:15 +0000
committerMiles Bader2002-06-11 01:50:15 +0000
commit11ef2a3b0da877ea64b9f0dd9d04b6737046bf1a (patch)
tree86780745d818c46ba5685a99255f2c3b3c132680
parent658397fbde3b8d52d7482ae62b77e5bbb21e7d6d (diff)
downloademacs-11ef2a3b0da877ea64b9f0dd9d04b6737046bf1a.tar.gz
emacs-11ef2a3b0da877ea64b9f0dd9d04b6737046bf1a.zip
display-supports-face-attributes-p
-rw-r--r--etc/NEWS7
-rw-r--r--lispref/frames.texi29
2 files changed, 35 insertions, 1 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 2fc545d4933..953d5da46c7 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1000,6 +1000,13 @@ removes the text properties in the `yank-excluded-properties' list.
1000 1000
1001** New function insert-buffer-substring-no-properties. 1001** New function insert-buffer-substring-no-properties.
1002 1002
1003** New function display-supports-face-attributes-p may be used to test
1004whether a given set of face attributes is actually displayable.
1005
1006A new predicate `supports' has also been added to the `defface' face
1007specification language, which can be used to do this test for faces
1008defined with defface.
1009
1003** Enhanced networking support. 1010** Enhanced networking support.
1004 1011
1005*** There is a new `make-network-process' function which supports 1012*** There is a new `make-network-process' function which supports
diff --git a/lispref/frames.texi b/lispref/frames.texi
index 25e77d08216..07ba7464872 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -1,6 +1,6 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../info/frames 6@setfilename ../info/frames
@@ -1717,6 +1717,33 @@ This function returns @code{t} if the screen can display shades of gray.
1717(All color displays can do this.) 1717(All color displays can do this.)
1718@end defun 1718@end defun
1719 1719
1720@anchor{Display Face Attribute Testing}
1721@defun display-supports-face-attributes-p attributes &optional display
1722@tindex display-supports-face-attributes-p
1723This function returns non-@code{nil} if all the face attributes in
1724@var{attributes} are supported (@pxref{Face Attributes}).
1725
1726The definition of `supported' is somewhat heuristic, but basically
1727means that a face containing all the attributes in @var{attributes},
1728when merged with the default face for display, can be represented in a
1729way that's
1730
1731@enumerate
1732@item
1733different in appearance than the default face, and
1734
1735@item
1736`close in spirit' to what the attributes specify, if not exact.
1737@end enumerate
1738
1739Point (2) implies that a @code{:weight black} attribute will be
1740satisfied by any display that can display bold, as will
1741@code{:foreground "yellow"} as long as some yellowish color can be
1742displayed, but @code{:slant italic} will @emph{not} be satisified by
1743the tty display code's automatic substitution of a `dim' face for
1744italic.
1745@end defun
1746
1720@defun display-selections-p &optional display 1747@defun display-selections-p &optional display
1721@tindex display-selections-p 1748@tindex display-selections-p
1722This function returns @code{t} if @var{display} supports selections. 1749This function returns @code{t} if @var{display} supports selections.