[Mew-Win32 02363] Re: mew-summary-hl でこんなこと...

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2000年 1月 20日 (木) 12:24:33 JST


From: SAITO Atsunori <sai at example.com> さん曰く
Subject: [Mew-Win32 02361] Re: mew-summary-hl でこんなこと...
Message-ID: <20000119231103Y.sai at example.com>
Date: Wed, 19 Jan 2000 23:11:03 +0900

西東> > とすると Addrbook で nickname が設定されている人も色が変わります。
西東> この機能は以前から欲しかった機能で、とても嬉しいです。

:-)

西東> ついでにもうひとつお願いしてもかまわなければ...
西東> 送信メール(SummaryがTo:hogehogeとなっているもの)についても、
西東> To:でひと括りではなく、specialなひと宛にはspecialな色にでき
西東> ると嬉しいのですが...

こんな感じでいいですか? 変数で抑制したほうが良いですか?

# お昼休みの 3分クッキング。
-------------- next part --------------
--- mew-summary-hl.el	2000-01-19 12:55:31+09	1.8
+++ mew-summary-hl.el	2000-01-20 12:17:15+09
@@ -88,6 +88,7 @@
 
 ;; 内部変数
 (defvar mew-summary-hl-special-list nil)
+(defvar mew-summary-hl-special-to-list nil)
 (defvar mew-sumamry-hl-face-list
   '("num" "from" "to" "ml" "special" "subject" "body"))
 
@@ -142,12 +143,30 @@
 	   (setq beg (goto-char (match-end 0)))
 	   (if (looking-at "To:")
 	       ;; 自分のメール
-	       (put-text-property beg
-				  (progn (move-to-column
-					  (+ (current-column)
-					     mew-summary-hl-from-width))
-					 (point))
-				  'face 'mew-summary-hl-face-to)
+	       (if mew-summary-hl-special-to-list
+		   (if (member (mew-buffer-substring beg
+						     (progn
+						       (move-to-column
+							(+ (current-column)
+							   mew-summary-hl-from-width))
+						       (point)))
+			       mew-summary-hl-special-to-list)
+		       ;; 特別な人宛てのメール
+		       (progn
+			 (put-text-property beg (+ beg 3)
+					    'face 'mew-summary-hl-face-to)
+			 (put-text-property (+ beg 3) (point)
+					    'face 'mew-summary-hl-face-special))
+		     ;; 他の人宛てのメール
+		     (put-text-property beg (point)
+					'face 'mew-summary-hl-face-to))
+		 ;; 他の人宛てのメール
+		 (put-text-property beg
+				    (progn (move-to-column
+					    (+ (current-column)
+					       mew-summary-hl-from-width))
+					   (point))
+				    'face 'mew-summary-hl-face-to))
 	     (if mew-summary-hl-special-list
 		 (if (member (mew-buffer-substring beg
 						   (progn
@@ -221,6 +240,7 @@
 
 (defun mew-summary-hl-special-setup ()
   (setq mew-summary-hl-special-list nil)
+  (setq mew-summary-hl-special-to-list nil)
   (if (and mew-summary-hl-special-persons
 	   (listp mew-summary-hl-special-persons))
       (let ((sp-list mew-summary-hl-special-persons))
@@ -240,7 +260,13 @@
 	      (setq mew-summary-hl-special-list
 		    (append (list (mew-summary-hl-special-make nickname))
 			    mew-summary-hl-special-list)))
-	  (setq ad-list (cdr ad-list))))))
+	  (setq ad-list (cdr ad-list)))))
+  (let ((sp-list mew-summary-hl-special-list))
+    (while sp-list
+      (setq mew-summary-hl-special-to-list
+	    (append (list (mew-summary-hl-special-make (concat "To:" (car sp-list))))
+		    mew-summary-hl-special-to-list))
+      (setq sp-list (cdr sp-list)))))
 
 (defun mew-summary-hl-special-make (str)
   (if (fboundp 'mew-string-to-list)


Mew-win32 メーリングリストの案内