[Mew-dist 461] Re: From line & "r" in news

Murata Shuuichirou mrt at example.com
1997年 2月 3日 (月) 09:25:34 JST


とっても古い話ですが。

In message <199612131506.AAA14698 at example.com>,
 Yuichi Sakumura <saku at example.com> wrote:
> >>>>> On Thu, 12 Dec 1996 19:57:50 +0900, SAKAI Kiyotaka <ksakai at example.com> said:
> 
saku> From: hoge at example.com ("hogehoge poipoi")
saku> のように,From: 行の () の中に "" で囲われた文字列があるとき,
…
saku> のようにアドレスの切り出しに失敗してしまいます.
saku> もっと詳しくは ("...") の間にスペースが入った場合に起きるようです.

ksakai> この件について原因を調べてみましたが、
…
ksakai> これが正しいとすれば、他の手順を辿る前に、コメントの削除 (とい
ksakai> うより、スペースへの変換かな) を行う必要があると思います。
> 
> 酒井さん,解析ありがとうございます.
> 私がちゃんと lisp が分かれば patch を作れるかも知れないんですが….
> すいません.

こんなのはどうでしょう。
-- 
むらたしゅういちろう

Index: mew-header.el
===================================================================
RCS file: /usr/home/mrt/CVS/mew/mew-header.el,v
retrieving revision 1.2
diff -u -r1.2 mew-header.el
--- mew-header.el	1997/02/02 22:44:27	1.2
+++ mew-header.el	1997/02/02 23:24:39
@@ -272,7 +272,8 @@
 	      (mew-header-split
 	       (mew-header-concat-list
 		(mew-header-delete-ws2-list
-		 (mew-header-separate-quote users)))
+		 (mew-header-separate-quote
+		  (mew-header-delete-comment users))))
 	       ?,))))))
       (if func
 	  (mapcar func list)
@@ -305,7 +306,8 @@
       (mew-header-split
        (mew-header-concat-list
 	(mew-header-delete-ws2-list
-	 (mew-header-separate-quote users)))
+	 (mew-header-separate-quote
+	  (mew-header-delete-comment users))))
        ?,)))
     ))
 
@@ -383,6 +385,21 @@
     (setq string (substring string 0 (string-match "@" string)))
     (substring string 0 (string-match ":;" string))
     ))
+
+(defun mew-header-delete-comment (string)
+  (while (string-match "(" string)
+    (setq string (concat (substring string 0 (match-beginning 0))
+			 (mew-header-delete-comment-sub
+			  (substring string (match-end 0)) ))))
+  string)
+
+(defun mew-header-delete-comment-sub (string)
+  (if (string-match "(" string)
+      (setq string (concat (substring string 0 (match-beginning 0))
+			   (mew-header-delete-comment-sub
+			    (substring string (match-end 0)) ))))
+  (string-match ")" string)
+  (substring string (match-end 0)) )
 
 ;;
 ;; e-mail address canonical form 



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