[Mew-dist 05497] Re: About imstore

Nobuhiro Tsuchie tsuchie at example.com
1998年 7月 14日 (火) 00:12:17 JST


いつもお世話になっています。土江です。

>>>>> On Mon, 13 Jul 1998 20:04:21 +0900
>>>>> kazu at example.com(Kazu Yamamoto (山本和彦))  said:

kazu> From: Nobuhiro Tsuchie <tsuchie at example.com>
kazu> Subject: [Mew-dist 05486] Re: About imstore
kazu> Date: Mon, 13 Jul 1998 00:20:22 +0900

> impack と imsort 用の各種パッチと pack.sbr を新規作成しました。添付します。

kazu> 申し訳ありませんが、もしこの機能をマージするとしても 1.94 beta になり
kazu> ます。1.93 ではバグの混入を防ぐためにもう機能を増やしたくありません。

全然、構いません。get.sbr, move.sbr 等の機能も Mew-1.94 beta にマージされる
のですか? 

>>>>> On Fri, 10 Jul 1998 00:18:27 +0900
>>>>> mokkun at example.com(Akihiro Motoki)  said:

元木>   Mew では refile や delete を(IMを利用せずに)自分で行うので、
元木>   そっちでもインターフェースが必要である。

IM の方は、丁度 perl の本を持っている人が近くにいたので、
貸してもらってなんとかなったのですが、Mew の方は、Emacs Lisp の良い本が、
手元に無く、すぐには出来そうにありません。1.94 beta にマージされるので
あれば、非常に助かります。また、素朴な疑問なのですが、
Mew で独自に refile や delete の処理をしているのは、なぜでしょうか?
pack や sort は、impack と imsort を利用しているようですが...

1.94 beta にマージするとは、Mew で独自に、get.sbr, move.sbr, pack.sbr
と同じ機能をもつことになるということですか?

それとも、現在は Mew で独自に処理している refile と delete の処理を
IM を介して行うことになるということですか? 

それとも、Mew の refile と delete の処理だけに move.sbr と同等の機能を
Mew 独自に作成するということですか? 

私の作成、編集したファイルのおかしいところを少し修正しておきます。

get.sbr のコメントに imstore を追加して下さい。

# -*-Perl-*-

# A user customizable subroutine for imget and imstore.
                                           ^^^ ^^^^^^^
# 'get_sub' is called if "GetSbr=get.sbr" is specified in your "Config".
# The argments are the folder name, the start of the range, and the end
# of the range.


>>> Sat, 11 Jul 1998 21:21:35 +0900 の刻に 「土江」、すなわち
>>> tsuchie at example.com(Nobuhiro Tsuchie) 曰く

土江> # -*-Perl-*-

土江> # A user customizable subroutine for immv and imrm.

# A user customizable subroutine for immv, imrm and imclean.
                                                ^^^ ^^^^^^^
imclean を追加して下さい。

土江> # 'move_sub' is called if "MoveSbr=move.sbr" is specified in your "Config".
土江> # The argments are the folder name, the start of the range, and the end
土江> # of the range.

# The argments are the folder name, the start of the range, and the end
# of the range.

は、混乱するので削除して下さい。以下略。

>>> Mon, 13 Jul 1998 00:20:22 +0900 の刻に 「土江」、すなわち
>>> tsuchie at example.com(Nobuhiro Tsuchie) 曰く

土江> # -*-Perl-*-

土江> # A user customizable subroutine for impack and imsort.
土江> # 'pack_sub' is called if "PackSbr=pack.sbr" is specified in your "Config".

土江> %hash = ();

土江> sub pack_sub ($$$) {
土江>     my ($folder, $from, $to) = @_;

土江>     my $dir = expand_path($folder);
土江>     my ($name, $val);

土江>     open(SEQ, "$dir/.mh_sequences") || return;

土江>     while (<SEQ>) {
土江>        chomp;
土江>        ($name, $val) = split(': ');
土江>        $hash{$name} = " $val";
土江>     }

土江>     close(SEQ);

土江>     if (defined($hash{'unseen'})) {

土江>        $exist = 0;
土江>        @arts = split(' ', $hash{'unseen'});
土江>        $hash{'unseen'} = "";

土江>        foreach $art (@arts) {

土江>           if ($art =~ /[0-9]*-[0-9]*/) {
土江>              ($pre, $post) = split(/-/,$art);
土江>           } else {
土江>              $pre = $art;
土江>              $post = $art; 
土江>           }

foreach (@arts) {

   if (/[0-9]*-[0-9]*/) {
      ($pre, $post) = split(/-/);
   } else {
      $pre = $_;
      $post = $_; 
   }

で構わない。どっちでも同じですが...
以下略。

>>> Mon, 13 Jul 1998 00:20:22 +0900 の刻に 「土江」、すなわち
>>> tsuchie at example.com(Nobuhiro Tsuchie) 曰く

土江> *** im-94/impack.in.bak	Mon Jun  8 11:17:39 1998
土江> --- im-94/impack.in	Sun Jul 12 23:13:21 1998

中略。

土江> --- 27,41 ----
土江>   ## Require packages
土江>   ##
  
土江> + use File::Basename;
土江>   use IM::Config;
土江>   use IM::Folder;
土江>   use IM::File;
土江> + use IM::MsgStore;
土江>   use IM::Util;
土江>   use integer;
土江>   use strict;
土江> ! use vars qw($Prog $EXPLANATION @OptConfig $First $Last
土江>   	    $opt_src $opt_noharm $opt_verbose $opt_debug $opt_help);

$First と $Last は、必要無い。混乱の元になるので削除して下さい。以下略。

>>> Mon, 13 Jul 1998 00:20:22 +0900 の刻に 「土江」、すなわち
>>> tsuchie at example.com(Nobuhiro Tsuchie) 曰く

土江> *** im-94/IM.in/MsgStore.pm.in.bak	Fri May  1 18:56:09 1998
土江> --- im-94/IM.in/MsgStore.pm.in	Sun Jul 12 23:07:59 1998

中略。

土江> + sub exec_packsbrfile ($$$) {
土江> +     my ($src, $from, $to) = @_;
土江> +     my $pack_hook = packsbrfile();
土江> +     if ($pack_hook) {
土江> +         if ($main::INSECURE) {
土江> +             im_warn("Sorry, MoveSbr is ignored for SUID root script\n");

"Sorry, MoveSbr is ..." ではなく、"Sorry, PackSbr is ..." である。以下略。

あと、imget 関連の処理で、Pop.pm.in を変更してますが、同様な変更が必要な
ファイルがあるかもしれない。

それから、別の機能追加の提案ですが、ニュースサーバのような expire 処理の
機能を持たせるというのは、どうでしょうか?
投稿記事の多いメーリングリストは、過去記事の検索が出来るように
なっているものが多いと思います。例えば、Mew を起動したときに
最後に読まれた日から予め指定した日数を経過しても読まれない予め指定した
フォルダ内の記事を削除するというのは、どうでしょう!
既に、こんな機能があったら、ごめんなさい。

土江 伸宏
tsuchie at example.com




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