[PREVIOUS CHAPTER]
[NEXT CHAPTER]
6 Q&A
6.1 Subject: [test-ml:0010] ,0009,0005 Re: test
Q&A のML でこの機能を利用したいのですが、
メールソフトで Subject だけを見て、瞬時に何番のメールに対する
返事かを たどっていきたい という要望があがっているわけです。
ふたつ前ぐらいの番号まで残るというのがベストです。ひとつ前だけでも 残れば うれしいです。
#いや、むしろ ひとつ前だけの方が 簡潔 で分かりやすいかも。
とかする程度なら10行くらいのHOOKできっとできます。
#行数が少ないのは決め打ちだから:)
$START_HOOK = q#
if ($Envelope{'h:subject:'} =~ /($SUBJECT_FREE_FORM_REGEXP)/) {
$x = $1;
if ($x =~ /(\d+)/) { $x = $1;}
$Envelope{'h:Subject:'} = ",$x ".$Envelope{'h:Subject:'};
while ($Envelope{'h:Subject:'} =~ s/(Re: )(,\d+)/$2$1/i) {;}
while ($Envelope{'h:Subject:'} =~ s/\s+(,\d+)/$1/) {;}
}
#;
# expire しなくていいのだろうか…つぅか > ,\d+ は2つまでとか
○ libtagdef.pl に新しいのを定義して patch は commit :)
subject tag にHOOKがあれば解決する問題なんだろうか…
いやそれだけじゃきっとしない
6.2 サマータイム (夏時間)
対象: 2001 年 5 月以降の 4.0 current
これは fml が返すさまざまなメッセージなどのメールヘッダにつく Date: の
話です。fml でするべき設定はただ一つです。$TZONE_DST に夏時間のタイム
ゾーンを設定して下さい。
タイムゾーンはこの2つです。
$TZone 冬時間のタイムゾーン
$TZONE_DST 夏時間のタイムゾーン
$TZone はインストール時に設定しているはずです。$TZONE_DST を指定しない
場合は $TZONE_DST と $TZone は同じ値になります。
理屈:
fml が動いているホストが夏時間かどうかは localtime() の返す isdst の値
を見ています。つまり、この値が 1 か 0 で判断します。夏時間を考慮したい
場合、この localtime() が正しい値を返すように各 OS で設定を頑張って下
さい。OS 固有の話なので僕はよくしりません :)
ノート: 最初(1993) TZone をユーザが変更しうる変数とは思ってなかったので
TZONE ではなく TZone になっています。
でもサマータイム用のゾーンは TZoneDst ではなく
ユーザ定義変数として $TZONE_DST という名を使っています。
[PREVIOUS CHAPTER]
[NEXT CHAPTER]