Mailman件名順表示再び

前回の修正ではISO-2022-JPUTF-8を基にBase64エンコードされたヘッダに対してはメーリングリスト名や "Re:" の除去が無力だったので,いったんUTF-8の単一文字列に変換したヘッダに対して掃除を行い,それをソートキーにするパッチをでっち上げた.
しかし毛唐ども*1のnaiveな発想にまたもや出くわした.詳細は次のページに詳しい.
http://www.emaillab.org/essay/japanese-header.html Japanese in the Header
76文字を超えるヘッダを送る際は空白文字の前に改行を入れて分割することになっている.するとヘッダ部のうち,空白文字で開始された行は前行からの継続行と判断できるというアイディアだ.
しかし彼らは「単語間の空白で分割し,行をくっつけるときには間に空白を入れればいいや」と考えたらしく,空白のないところで行を分割する処理を考慮していないようだ.「くっつけるときには間に空白を」などとはRFCには書いてないが,"Hello Folks" を "Hello<改行> Folks" と変換したものを戻すにはその処理が必須だ.そして継続行に現れる先頭の空白の数は定められていないので "Hello<改行>  Folks" と「元々あった空白」を表現することもできない.かくして非欧米人は汚い場合分けを使うことになる.
... しかし日本におけるMailmanの中心 mm.tkikuchi.net が落ちていて投げたメールも配送されてない(ぉ

*1:欧米人を指す.