[Mew-Win32 02021] Re: summary の色づけ
Shun-ichi GOTO
gotoh at example.com
1999年 9月 22日 (水) 23:30:16 JST
後藤@太陽計測です
>>>>> at Wed, 22 Sep 1999 19:27:49 +0900
>>>>> 白井 <shirai at example.com> said,
白井> というわけで、とりあえず beta 版です。変数の説明とかはまだ書いて
白井> いません。
白井> ## 力ずくなのは相変わらずなので、後藤さんの参考には全然なりませ
白井> ## んですよ、こりゃ。:-)
いえいえ、すごく参考になってますよ。(^^)
ちなみに 8820 のメッセージがあるフォルダで mew-summary-hl-buffer すると
13秒かかりました。
環境は Meadow-1.06b3-990920 + WinNT 4.0SP5 + WinChip2 240MHz)
白井> 私は Emacs-20.4(Meadow 1.06b3 も)で実験しているのですが、きっと
白井> まだまだ何かあると思います。というわけで。。。
「なにか」というほどではないですが、
font-lock-fontify-{buffer,region}-function を上書きしているのはちょっと
やだなぁ、な気がしますです。(^^;
mew-xxx-mode-hook で make-local-variable して setq してみては?
## その場合は font-lock-fontify-{buffer,region}-function-original の
## funcall は不要になりますよね?
## ... というパッチを添付してみたりする。
## ちゃんと試したわけでないので、問題があったらゴメンなさい。
## あと、mue-use-highlight-mark をnil にするのはもったいないので
## マークがついていない行だけ対象にするようにした方が自分に都合が
## 良かったのでそうしてみました。
## へへへ (^^;
--- Regards,
Shun-ichi Goto <gotoh at example.com>
R&D Group, TAIYO Corp., Tokyo, JAPAN
-------------- next part --------------
--- mew-summary-hl.el.orig Wed Sep 22 13:42:37 1999
+++ mew-summary-hl.el Wed Sep 22 14:12:22 1999
@@ -69,11 +69,6 @@
;; (setq mew-summary-hl-from-width 14)
;; あとは自分の環境に合わせて下さい。(_ _)
-;; font-lock の設定変更
-(defvar font-lock-fontify-buffer-function-orignal font-lock-fontify-buffer-function)
-(defvar font-lock-fontify-region-function-orignal font-lock-fontify-region-function)
-(setq font-lock-fontify-buffer-function 'mew-summary-hl-buffer)
-(setq font-lock-fontify-region-function 'mew-summary-hl-region)
;; いいかげんだけど XEmacs 用(未完成)
(if (not (fboundp 'font-lock-fontify-block))
@@ -82,34 +77,37 @@
(save-excursion (forward-line -16) (point))
(save-excursion (forward-line 32) (point)))))
-(add-hook 'mew-summary-mode-hook (lambda () (font-lock-mode 1)))
-(add-hook 'mew-virtual-mode-hook (lambda () (font-lock-mode 1)))
+(add-hook 'mew-summary-mode-hook 'mew-summary-hl-enable)
(add-hook 'mew-summary-inc-sentinel-hook 'font-lock-fontify-block)
(add-hook 'mew-summary-scan-sentinel-hook 'font-lock-fontify-block)
-(add-hook 'mew-refile-view-mode-hook (lambda () (font-lock-mode 0)))
+;(add-hook 'mew-refile-view-mode-hook (lambda () (font-lock-mode 0)))
;; 自前でやるから nil にする
+;; (Sg.) マークしたときどうすんの?
(setq mew-use-highlight-mark nil)
+(defun mew-summary-hl-enable ()
+ (make-local-variable 'font-lock-fontify-buffer-function)
+ (make-local-variable 'font-lock-fontify-region-function)
+ (setq font-lock-fontify-buffer-function 'mew-summary-hl-buffer)
+ (setq font-lock-fontify-region-function 'mew-summary-hl-region)
+ (font-lock-mode 1))
+
(defun mew-summary-hl-buffer ()
"Mew summary buffer highlight with font-lock-mode."
(interactive)
- (if (or (eq major-mode 'mew-summary-mode)
- (eq major-mode 'mew-virtual-mode))
- (mew-summary-hl-region (point-min) (point-max))
- (funcall font-lock-fontify-buffer-function-orignal)))
+ (mew-summary-hl-region (point-min) (point-max)))
(defun mew-summary-hl-region (beg end &optional loudly)
"Mew summary region highlight with font-lock-mode."
(interactive "r")
(if (or (eq major-mode 'mew-summary-mode)
(eq major-mode 'mew-virtual-mode))
- (save-excursion
(mew-elet
(goto-char beg)
(beginning-of-line)
(setq beg (point))
- (remove-text-properties beg end '(face nil))
+ ;(remove-text-properties beg end '(face nil))
(while (< (point) end)
(if (not (looking-at mew-summary-hl-start-regex))
(let (face)
@@ -149,10 +147,9 @@
'face 'mew-summary-hl-face-subject)
(put-text-property (match-beginning 2) (match-end 2)
'face 'mew-summary-hl-face-body)))
- (forward-line))))
- (funcall font-lock-fontify-region-function-orignal beg end loudly)))
+ (forward-line)))))
-(defun mew-summary-hl-setup ()
+(defun mew-summary-highlight-setup ()
(let ((flist (list "num" "from" "to" "ml" "subject" "body"))
fname type color)
(mapcar
Mew-win32 メーリングリストの案内