[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:00041] Re: mhc on windows(Meadow-1.01)



大原です。

nom@xxxxxxxxxxxxxxxxxxx (Yoshinari NOMURA) さんの、
"Mon, 24 May 1999 19:14:37 +0900" にだした、
「[mhc:00040] Re: mhc on windows(Meadow-1.01)」というメールにて…… :

> 僕の UNIX環境では、再現しないですねぇ。。Win だけの現象でしょうか。

改行コードの違いが関係あったりするでしょうか?
# 当てずっぽうで言っています……。

> >  2. 登録されたmessageをspaceで表示させた場合なのですが、元mailの
> >     "Subjetc:"に日本語が使われていると、表示させたmessageのSubject:が
> > 	文字化けみたいに表示されてしまいます。
> ごめんなさい。実はこれは仕様です。
> # 以前、大原さんも指摘されてたの、無視してしまってる。。

がーん、やっぱりそうだったんですか……。
昔の mhc から表示できてなかったんですが、
実はほかの人はみんな表示できてるのかと思っていました。

> 登録するときに encode してやればいいんですが (これ自体は簡単)、
> mscan2 が decode するハメになるのが嫌なので (これは面倒) このま
> まになっています。

mscan2 の decode が面倒だとすると、
たとえば、スケジュールの message バッファで、
JIS な Subject: をそのまんま表示させるようにする、
というのは難しいでしょうか?
# 当てずっぽうで言っています……。


today をほんのちょっとだけ変えてみました。変更点は、
・Tomorrow の見ため
・mscan2 --today の廃止(?)に合わせた。
・$USER の扱い

----
OHARA Shigeki (大原重樹) <os@xxxxxxxxx>
#!/usr/local/bin/perl

$BINMAIL = 'imput';
$NKF     = 'nkf';
$MSCAN2  = 'mscan2';
#$USER    = 'user';

($sec, $min, $hour, $day, $mon, $year) = localtime(time);
$year += 1900; $mon++;

foreach (@ARGV) {
    $tilltomorrow = 1 if (/^--tilltomorrow$/);
    $address = $1 if (/^--mail=(.+)/);
}

$USER = $USER ||
    $ENV{'USERNAME'} || $ENV{'USER'} || $ENV{'LOGNAME'} || $address;

$schedule = `$MSCAN2 --date=today`;
$schedule2 = `$MSCAN2 --date=tomorrow` if ($tilltomorrow);

exit(0) if (($schedule eq '') && ($schedule2 eq ''));

if ($address){
    open(STDOUT, "| $NKF -j | $BINMAIL $address");
    select STDOUT; $| = 1;

    print "To: $address\n";
    print "From: secretary-of-$address\n";
    print "Subject: Today's schedule ($year-$mon-$day).\n";
    print "\n";
    print "${USER}'s schedule ($year-$mon-$day):\n\n";
} else {
    open(STDOUT, "| $NKF -j");
}

print $schedule if ($schedule);

if ($schedule2) {
    if ($schedule) {
	print "\n";
    } else {
	print "Tomorrow ... :\n\n" 
    }
    print $schedule2;
}

close(STDOUT);

exit 0;