diff options
| author | Glenn Morris | 2012-11-14 23:30:46 -0800 |
|---|---|---|
| committer | Glenn Morris | 2012-11-14 23:30:46 -0800 |
| commit | bde3c6c0f79ab814e12ea0f04b06625f91f5cd52 (patch) | |
| tree | 1c5120a620b7fd140b6325cfa0a42173d155589e /src | |
| parent | e2e13f1831a71b558b3625c4ecf3d35100236870 (diff) | |
| download | emacs-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.c | 8 |
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; |