From: Chong Yidong Date: Thu, 27 May 2010 15:28:58 +0000 (-0400) Subject: Let htmlfontify recognize face aliases (Bug#6279). X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~182^2~8 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ecb0ab90c41745fa95741291288ea22c7bc7561b;p=emacs.git 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). --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 10cd04ec60d..a18eea12ee3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2010-05-27 Chong Yidong + + * progmodes/verilog-mode.el (verilog-type-font-keywords): Use + font-lock-constant-face, not obsolete font-lock-reference-face. + +2010-05-27 Masatake YAMATO + + * htmlfontify.el (hfy-face-resolve-face): New function. + (hfy-face-to-style): Use it (Bug#6279). + 2010-05-27 Kenichi Handa * language/hebrew.el (hebrew-shape-gstring): Check if a glyph diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index d4dd49ac17d..12e54972461 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el @@ -1026,14 +1026,25 @@ haven't encountered them yet. Returns a `hfy-style-assoc'." (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))) diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index bf9d4b8da47..5e7699b3543 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -2446,12 +2446,12 @@ See also `verilog-font-lock-extra-types'.") (list (concat "\\\\s-+\\(integer\\|real\\(time\\)?\\|time\\)\\s-+\\(\\sw+\\)" ) '(1 font-lock-keyword-face) - '(3 font-lock-reference-face prepend)) + '(3 font-lock-constant-face prepend)) '("\\\\s-+\\(\\[[^]]+\\]\\)\\s-+\\(\\sw+\\)" (1 font-lock-keyword-face) - (2 font-lock-reference-face append)) + (2 font-lock-constant-face append)) '("\\\\s-+\\(\\sw+\\)" - 1 'font-lock-reference-face append)))) + 1 'font-lock-constant-face append)))) (setq verilog-font-lock-keywords-2 (append verilog-font-lock-keywords-1