[Mew-dist 09169] Re: comma separator in addrbook

Takaya Ogawa / 小川貴也 t-ogawa at example.com
1999年 6月 4日 (金) 23:31:21 JST


小川といいます。

From: tkatayam at example.com (KATAYAMA, Takeo / 片山 健夫)
Subject: [Mew-dist 09167] comma separator in addrbook
Date: Fri, 4 Jun 1999 21:30:57 +0900

> Mew 1.94b26, IM-115からEmacs20.3上で使用しています。
> Addrbook中での「個人情報」のaddressの書式に関して、infoには
> 『`,' の後に空白を入れても構いません。』となっています。
> しかし、実際にはその空白も区切りと判断されているようで、
> summary等でニックネームが表示されなかったりします。

私もつい昨日、全く同じ問題に気づきました。
それから、IM では

o 行頭の ';' 以降
o 行頭以外の '#' 以降

が正しくコメントとして扱われていないようです。後者は、iso-2022-jp
コードのからみで単純に s/#.*$//; とするわけにはいかないですね......

> で、Scan.pmの870行目を
> 	} elsif (/^(\S+)\s+/) {
> から
> 	} elsif (/^((\S+,\s+)*\S+)\s+/) {
> と変更してとりあえず凌いでいるのですが、正確にはどうするのが
> よいでしょうか?

添付のような感じで如何でしょう。行頭の ';' をコメントとして
扱うようにはしましたが、行頭以外の '#' についてはどうしたら
いいのかわからないので放ってあります。

----------
||  小川 貴也 (おがわ たかや) @ 東京大学教養学部理科1類2年7組
||  t-ogawa at example.com, http://www.netlaputa.ne.jp/%7Et-ogawa/


-------------- next part --------------
--- IM/Scan.pm.orig	Fri Jun  4 17:27:30 1999
+++ IM/Scan.pm	Fri Jun  4 23:20:52 1999
@@ -857,6 +857,7 @@
 
 	while(<ADDRBOOK>) {
 	    next if (/^#/);
+	    next if (/^;/);
 	    if (/^(\S+)\s+/) {
 		$key = $1;
 		$_ = $';
@@ -867,7 +868,7 @@
 	    if (/^"([^"]+)"\s+/) {
 	        $addr = $1;
 		$_ = $';
-	    } elsif (/^(\S+)\s+/) {
+	    } elsif (/^([^\t ,]+(\s*,\s*[^\t ,]+)*)\s+/) {
 	        $addr = $1;
 		$_ = $';
 	    } else {


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