Mercurial > emacs
diff lisp/htmlfontify.el @ 108804:9b941507a02c
Let htmlfontify recognize face aliases (Bug#6279).
* progmodes/verilog-mode.el (verilog-type-font-keywords): Use
font-lock-constant-face, not obsolete font-lock-reference-face.
* htmlfontify.el (hfy-face-resolve-face): New function.
(hfy-face-to-style): Use it (Bug#6279).
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 27 May 2010 11:28:58 -0400 |
parents | 3040d386675c |
children | 60516122d066 |
line wrap: on
line diff
--- a/lisp/htmlfontify.el Thu May 27 16:09:18 2010 +0900 +++ b/lisp/htmlfontify.el Thu May 27 11:28:58 2010 -0400 @@ -1026,14 +1026,25 @@ (setq n (apply '* m)) (nconc r (hfy-size (if x (round n) (* n 1.0)))) )) +(defun hfy-face-resolve-face (fn) + (cond + ((facep fn) + (hfy-face-attr-for-class fn hfy-display-class)) + ((and (symbolp fn) + (facep (symbol-value fn))) + ;; Obsolete faces like `font-lock-reference-face' are defined as + ;; aliases for another face. + (hfy-face-attr-for-class (symbol-value fn) hfy-display-class)) + (t nil))) + + (defun hfy-face-to-style (fn) "Take FN, a font or `defface' style font specification, \(as returned by `face-attr-construct' or `hfy-face-attr-for-class') and return a `hfy-style-assoc'.\n See also `hfy-face-to-style-i', `hfy-flatten-style'." ;;(message "hfy-face-to-style");;DBUG - (let ((face-def (if (facep fn) - (hfy-face-attr-for-class fn hfy-display-class) fn)) + (let ((face-def (hfy-face-resolve-face fn)) (final-style nil)) (setq final-style (hfy-flatten-style (hfy-face-to-style-i face-def)))