[Mew-dist 2731] Re: mew-highlight-body
Masahiro MURATA ( 村田全寛 )
muse at example.com
1997年 10月 25日 (土) 00:48:32 JST
村田@神戸です。
/// On Wed, 22 Oct 1997 16:03:42 +0900 (JST)
/// Masahiro MURATA wrote:
村田> Mew 1.92b6 以降で body にも highlight させる設定ファイルです。一応バッ
村田> ファの大きさを見て my-mew-highlight-max-size で指定したサイズ以下なら
村田> highlight するようになっています。よって,大きなメールが来ても大丈夫。
これですが,byte-compile できない,という問題がありました。小さなものな
のでわざわざ byte-compile するほどのものではあるまい,と思って自分はしてい
なかったのですが,メールで指摘されて気付きました。
# 今,自前の関数を作るほどの気力はないので,font-lock が必須です。
それから 1.92b10 の人は [Mew-dist 2728] のパッチを当てる必要があります。
--
村田 全寛 / MURATA Masahiro
-------------- next part --------------
;; highlight body for Mew
;; Masahiro MURATA <muse at example.com>
(require 'font-lock)
(add-hook 'mew-message-mode-hook 'my-mew-message-highlight-body-setup)
(add-hook 'mew-message-hook 'my-mew-highlight-body)
(defvar mew-highlight-body-face-list
'(mew-highlight-body-face-quote
mew-highlight-body-face-comment))
(defvar mew-highlight-body-style-quote 'default)
(defvar mew-highlight-body-style-comment 'default)
(defvar mew-highlight-body-color-quote "ForestGreen")
(defvar mew-highlight-body-color-comment "gray50")
(defvar my-mew-highlight-body-keywords
'(("^[ \t]*\\(\\w*[A-Za-z0-9'-]*[>|>〉》≫|]+.*\\)"
1 mew-highlight-body-face-quote)
("\\(^[##]+.*\\)"
1 mew-highlight-body-face-comment)
))
(defvar my-mew-highlight-max-size 10000)
(defun my-mew-highlight-body ()
(if (> (point-max) my-mew-highlight-max-size)
nil
(save-excursion
(goto-char (point-min))
(if (eq mew-message-citation 'header)
(re-search-forward mew-eoh nil t))
(my-mew-highlight-region (point) (point-max))
)))
(defun my-mew-highlight-region (beg end)
(if (and window-system mew-opt-highlight-header)
(save-excursion
(cond
((fboundp (function font-lock-hack-keywords))
(font-lock-hack-keywords beg end))
((fboundp (function font-lock-fontify-region))
(font-lock-fontify-region beg end))
))))
(defun my-mew-message-highlight-body-setup ()
(if (and window-system mew-opt-highlight-header)
(cond
((boundp 'font-lock-defaults)
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults '(my-mew-highlight-body-keywords t t))
(cond
((fboundp (function font-lock-set-defaults-1))
(font-lock-set-defaults-1))
((fboundp (function font-lock-set-defaults))
(font-lock-set-defaults))
))
(t
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords my-mew-highlight-body-keywords))
)
))
(mew-highlight-face-setup mew-highlight-body-face-list)
(provide 'mew-highlight-body)
Mew-dist メーリングリストの案内