[Mew-dist 14755] mewinc patch

TAKANO Yuji ( たかのゆ〜じ ) takachan at example.com
2000年 10月 25日 (水) 14:49:55 JST


たかのです。こんにちは。

  mewinc、快調に動いています。ありがとうございます。

  ちょっとプログラムをいじりましたのでメールします。採用されてもさ
れなくてもどっちでも良いです(^^;;。

  現在の mewinc は spool から inbox に移動した時、番号しか表示され
ないので、ちょっと寂しいです。もっとにぎやかにする為に From: と
Subject: を拾って表示する様にしました。

  仕掛けはいたって簡単です。パタンマッチでマッチしたモノを表示する。
これだけだけです(^^;。あくまで補助的機能です。

o. 複数行に分かれた From: と Subject: に対応していない。
o. mime ヘッダに対応していない。
   % mewinc -fl -sl | nkf で許してね(^^;;。

o. オプションが増えた。
   % mewinc -h
   Usage: mewinc [options] [+folder]
     options: -mailbox|-f mboxfile|-
              -mailfolder|-d folderpath
	      -keep|-k
              -fromlist|-fl
              -subjectlist|-sl

-fromlist で From: 行を表示する。
-subjectlist で Subject: 行を表示する。

こんな感じです。くだらないのを作ってごめんなさい。

たかの
---
     e-mail : takachan at example.com
  Home Page : http://www.running-dog.net/
FingerPrint : F739 1D11 792E AF3C 501E  8A70 F7AA 605B B07C 45A5
PGP-Key-URL : http://www.running-dog.net/takachan.pubkey



--- mewinc.ORG	Wed Oct 25 14:10:09 2000
+++ mewinc	Wed Oct 25 14:28:29 2000
@@ -65,6 +65,8 @@
 $mbopt = 0;
 $mailbox = '';
 $mfopt = 0;
+$formlist = 0;
+$subjlist = 0;
 
 sub fsync ($) {
     my ($fno) = @_;
@@ -203,18 +205,28 @@
 sub store_message ($) {
     my ($Msg) = @_;
     local (*ART);
-    my ($file);
+    my ($file,$subj,$from);
 
     $file = new_message(\*ART);
     if ($file) {
 	select (ART); $| = 1; select (STDOUT);
 	foreach (@$Msg) {
 	    print ART $_ or goto ERR1;
+	    $from = $1 if (/^(From:.*)/);
+	    $subj = $1 if (/^(Subject:.*)/);
 	}
 	fsync(fileno(ART)) or goto ERR1;
 	close(ART) or goto ERR2;
 
-	print "$file\n";
+        if ($fromlist && $subjlist) {
+	     print "$file\t$from\n\t$subj\n";
+	 } elsif ($fromlist) {
+            print "$file\t$from\n"
+        } elsif ($subjlist) {
+	     print "$file\t$subj\n";
+        } else {
+            print "$file\n";
+	 }
 	return 1;
 
       ERR1:
@@ -368,6 +380,8 @@
     print "  options: -mailbox|-f mboxfile|-\n";
     print "           -mailfolder|-d folderpath\n";
     print "           -keep|-k\n";
+    print "           -fromlist|-fl\n";
+    print "           -subjectlist|-sl\n";
     exit(0);
 }
 
@@ -396,6 +410,10 @@
 	$mbopt = 1;
     } elsif (/^-(mailfolder|d)$/) {
 	$mfopt = 1;
+    } elsif (/^-(fromlist|fl)$/) {
+	$fromlist = 1;
+    } elsif (/^-(subjectlist|sl)$/) {
+	$subjlist = 1;
     } elsif (/^-h/) {
 	usage;
     } elsif (/^-/) {




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