[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 ef768c7: Cope with multiple overlapping faces.
From: |
Phillip Lord |
Subject: |
[Emacs-diffs] emacs-25 ef768c7: Cope with multiple overlapping faces. |
Date: |
Tue, 19 Jan 2016 12:49:41 +0000 |
branch: emacs-25
commit ef768c790ed83c8fa5c7efb24dc8e94967b5a778
Author: Phillip Lord <address@hidden>
Commit: Phillip Lord <address@hidden>
Cope with multiple overlapping faces.
* lisp/htmlfontify.el (hfy-face-to-style-i): Treat inheritance right to
left.
(hfy-face-resolve-face): Handle font specification as well as font
name. Documentation update. (Bug#21990)
---
lisp/htmlfontify.el | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el
index 178f3a0..fc309bd 100644
--- a/lisp/htmlfontify.el
+++ b/lisp/htmlfontify.el
@@ -999,7 +999,7 @@ merged by the user - `hfy-flatten-style' should do this."
(append
parent
(hfy-face-to-style-i
- (hfy-face-attr-for-class v hfy-display-class)) ))))
+ (hfy-face-attr-for-class v hfy-display-class))))))
(setq this
(if val (case key
(:family (hfy-family val))
@@ -1018,7 +1018,7 @@ merged by the user - `hfy-flatten-style' should do this."
(:italic (hfy-slant 'italic))))))
(setq that (hfy-face-to-style-i next))
;;(lwarn t :warning "%S => %S" fn (nconc this that parent))
- (nconc this that parent))) )
+ (nconc this parent that))) )
(defun hfy-size-to-int (spec)
"Convert SPEC, a CSS font-size specifier, to an Emacs :height attribute
value.
@@ -1056,13 +1056,19 @@ haven't encountered them yet. Returns a
`hfy-style-assoc'."
(nconc r (hfy-size (if x (round n) (* n 1.0)))) ))
(defun hfy-face-resolve-face (fn)
+ "For FN return a face specification.
+FN may be either a face or a face specification. If the latter,
+then the specification is returned unchanged."
(cond
((facep fn)
(hfy-face-attr-for-class fn hfy-display-class))
+ ;; FIXME: is this necessary? Faces can be symbols, but
+ ;; not symbols refering to other symbols?
((and (symbolp fn)
(facep (symbol-value fn)))
- (hfy-face-attr-for-class (symbol-value fn) hfy-display-class))
- (t nil)))
+ (hfy-face-attr-for-class
+ (symbol-value fn) hfy-display-class))
+ (t fn)))
(defun hfy-face-to-style (fn)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 ef768c7: Cope with multiple overlapping faces.,
Phillip Lord <=