[Mew-dist 08289] Re: virtual folder

Kyotaro HORIGUCHI kyota at example.com
1999年 3月 26日 (金) 12:38:42 JST


堀口です.

At Thu, 25 Mar 1999 22:28:46 +0900, Kazumasa Utashiro <utashiro at example.com> wrote in <19990325222832T.utashiro at example.com>
> ちょっとコメントですが、日本語が出てくる可能性があるからという理由で無
> 闇に
...(略^^;)...
> というようなコードを書くと、思わぬ性能上の問題を引き起こすことがありま
> す。

 あまり深く考えずに Mew の上で試して問題なさそうだったのですが確
かに問題が起きそうなので imls 単体で速度を測ってみたら 2400 件の
表示が 40% 近く遅くなってしまっていました^^;

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

 結局頭は使っていませんがこれを参考に以下のようにしてみました. フォ
ルダ名に日本語を含まないときの性能の低下はほとんどなくなっている
ようです. (2400行の出力時間30秒に対して1秒未満)

===== for im-111
--- Scan.pm.org	Tue Mar 23 18:13:06 1999
+++ Scan.pm	Fri Mar 26 12:28:04 1999
@@ -20,4 +20,5 @@
 use IM::EncDec qw(mime_decode_string);
 use IM::Address qw(extract_addr fetch_addr);
+use IM::Japanese;
 use integer;
 use strict;
@@ -236,4 +237,5 @@
     my $path = shift;
     my %Head = ();
+    my $folder;
 
     $Head{'path'} = $path;
@@ -241,5 +243,7 @@
 	# xxx how about news?
 	$Head{'number:'} = $2;
-	$Head{'folder:'} = '+' . substr($1, length(mail_path()) + 1);
+	$folder = substr($1, length(mail_path()) + 1);
+	$folder = conv_iso2022jp($folder) if ($folder =~ /[\200-\377]/);
+	$Head{'folder:'} = '+' . $folder;
     }
--
堀口恭太郎



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