aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2012-11-14 23:30:46 -0800
committerGlenn Morris2012-11-14 23:30:46 -0800
commitbde3c6c0f79ab814e12ea0f04b06625f91f5cd52 (patch)
tree1c5120a620b7fd140b6325cfa0a42173d155589e /src
parente2e13f1831a71b558b3625c4ecf3d35100236870 (diff)
downloademacs-bde3c6c0f79ab814e12ea0f04b06625f91f5cd52.tar.gz
emacs-bde3c6c0f79ab814e12ea0f04b06625f91f5cd52.zip
Fixes related to face underlining
* lisp/faces.el (face-underline-p): Doc fix. Handle :underline being things other than `t' (a string, a list). (face-inverse-video-p): Doc fix. (set-face-underline): Rename it back from set-face-underline-p. Doc fix. Allow interactive input of values other than t. (read-face-attribute): Apply formatting to :underline, since like :box and :stipple it can take list values. * doc/lispref/display.texi (Face Attributes): Fix :underline COLOR description. (Attribute Functions): Update for set-face-underline rename. Tweak descriptions of face-underline-p, face-inverse-video-p. * etc/NEWS: Related edit.
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 221387c4b6d..5eda6dca6da 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -2906,6 +2906,12 @@ FRAME 0 means change the face on all frames, and change the default
2906 Lisp_Object key, val, list; 2906 Lisp_Object key, val, list;
2907 2907
2908 list = value; 2908 list = value;
2909 /* FIXME? This errs on the side of acceptance. Eg it accepts:
2910 (defface foo '((t :underline 'foo) "doc")
2911 Maybe this is intentional, maybe it isn't.
2912 Non-nil symbols other than t are not documented as being valid.
2913 Eg compare with inverse-video, which explicitly rejects them.
2914 */
2909 valid_p = 1; 2915 valid_p = 1;
2910 2916
2911 while (!NILP (CAR_SAFE(list))) 2917 while (!NILP (CAR_SAFE(list)))
@@ -5727,6 +5733,8 @@ realize_x_face (struct face_cache *cache, Lisp_Object attrs[LFACE_VECTOR_SIZE])
5727 face->underline_defaulted_p = 1; 5733 face->underline_defaulted_p = 1;
5728 face->underline_type = FACE_UNDER_LINE; 5734 face->underline_type = FACE_UNDER_LINE;
5729 5735
5736 /* FIXME? This is also not robust about checking the precise form.
5737 See comments in Finternal_set_lisp_face_attribute. */
5730 while (CONSP (underline)) 5738 while (CONSP (underline))
5731 { 5739 {
5732 Lisp_Object keyword, value; 5740 Lisp_Object keyword, value;