[Mew-dist 08286] Re: virtual folder

Kazumasa Utashiro utashiro at example.com
1999年 3月 25日 (木) 22:28:46 JST


From: kyota at example.com (Kyotaro HORIGUCHI)
Subject: [Mew-dist 08282] Re: virtual folder
Date: Thu, 25 Mar 1999 20:34:24 +0900

ちょっとコメントですが、日本語が出てくる可能性があるからという理由で無
闇に

> ! 	$Head{'folder:'} = 
> ! 	    conv_iso2022jp('+' . substr($1, length(mail_path()) + 1));

というようなコードを書くと、思わぬ性能上の問題を引き起こすことがありま
す。

/\e[\177-\377]/ (\e は不要かも) とかでチェックして日本語が含まれている
場合にのみ変換するようにした方がいいでしょう。この場合はここでは $1 を
使っているので、ちょっと頭を使う必要があります。

同様な理由で、sub conv_iso2022jp ($;$) の始めの方に、

	return $line unless $line =~ /[\200-\377]/;

というようなコードを入れるべきだと思います。デバッグ出力なども考えない
といけないので、サンプルは示しません。

code_check の方はましですが、

    if ($line =~ /^$C_ascii*$/o) {
	return 'ascii';
    } elsif ($line =~ /$C_jis/o) {
	return 'jis';
    }

$C_ascii と $C_jis のチェックの順番は逆にした方がいいと思う... と思っ
たけど、やっぱり撤回。多分、今の方が最適化が効いて速いや。$C_ascii の
内容依存ですが。

--utashiro



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