[Mew-dist 14757] Re: mewinc patch

Shun-ichi TAHARA ( 田原 俊一 ) jado at example.com
2000年 10月 25日 (水) 15:41:30 JST


From: TAKANO Yuji (たかのゆ〜じ) <takachan at example.com>
Message-Id: <20001025.144955.71089527.takano at example.com>

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

個人的には、incmが bin/ に収録されるのもいいかなとか思ってみたり :-)。

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

-fl, -sl は、この機能が欲しい人にとっては、デフォルトの方が嬉しいです
よね。ということで、デフォルト値を設定して、これをオプションでオン・オ
フできるようにしてみました。

# これにともない、オプション名を若干変更しています。
# -fl+/-fl-/-sl+/-sl- でないのはわざとです。

> o. mime ヘッダに対応していない。
>    % mewinc -fl -sl | nkf で許してね(^^;;。

$nkfcommand != undef だったら、pipeに流すとかできそうですね :-)

というわけで、ちょいと変更して、こんな感じでどうでしょう
# あ、$nkfcommand は未実装。
--
田原 / jado at example.com

--- mewinc.orig	Thu Oct 19 01:48:48 2000
+++ mewinc	Wed Oct 25 15:35:17 2000
@@ -5,7 +5,7 @@
 ##         [from imget]
 ##
 ## Author: Shun-ichi TAHARA <jado at example.com>
-## Time-stamp: <00/10/19 01:48:48 jado at example.com>
+## Time-stamp: <00/10/25 15:35:17 jado at example.com>
 ##
 
 ### Configuration variables:
@@ -52,6 +52,14 @@
 #$fsync_no = "118";	# Linux
 #$fsync_no = "95";	# FreeBSD
 
+### List From: header by default:
+## If you want list From: header by default, set this to 1.
+$listfrom = 0;
+
+### List Subject: header by default:
+## If you want list Subject: header by default, set this to 1.
+$listsubj = 0;
+
 ### End of configuration variables.
 
 require 5.003;
@@ -203,18 +211,31 @@
 sub store_message ($) {
     my ($Msg) = @_;
     local (*ART);
-    my ($file);
+    my ($file, $subj, $from, $nl);
 
     $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";
+	$nl = "\n";
+	print "$file";
+	if ($listfrom) {
+	    print "\t$from\n";
+	    $nl = undef;
+	}
+	if ($listsubj) {
+	    print "\t$subj\n";
+	    $nl = undef;
+	}
+	print $nl;
+
 	return 1;
 
       ERR1:
@@ -368,6 +389,8 @@
     print "  options: -mailbox|-f mboxfile|-\n";
     print "           -mailfolder|-d folderpath\n";
     print "           -keep|-k\n";
+    print "           -listfrom|-lf / -nofrom|-nf\n";
+    print "           -listsubject|-ls / -nosubject|-ns\n";
     exit(0);
 }
 
@@ -396,6 +419,14 @@
 	$mbopt = 1;
     } elsif (/^-(mailfolder|d)$/) {
 	$mfopt = 1;
+    } elsif (/^-(nofrom|nf)$/) {
+	$listfrom = 0;
+    } elsif (/^-(listfrom|lf)$/) {
+	$listfrom = 1;
+    } elsif (/^-(nosubject|ns)$/) {
+	$listsubj = 0;
+    } elsif (/^-(listsubject|ls)$/) {
+	$listsubj = 1;
     } elsif (/^-h/) {
 	usage;
     } elsif (/^-/) {



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