[PC環境改善] mutt on Cygwin で Maildir 形式のメールボックスを使用する際の問題点
Cygwin 環境をバリバリ使っている今日この頃,mutt で Maildir 形式のメールボックスを使うと,メールを既読にマークできません.rename システムコールで "No such file or directory" というエラーが発生するのです.非常に謎です.
そこで,仕方なしに MH 形式を使っていたのですが... MH 形式では到着したメールが新着かどうか分からないので使いづらいのなんの.mbox 形式でも構わないのですが,「1 メール 1 ファイル」に憧れているので,慣れた Maildir 形式で使いたいのが人情というもの.
今日ついに,mutt で Maildir 形式のメールボックスを使うときの不具合の謎が解けました!
原因はファイル名でした.Windows で使用できない文字をファイル名に使用しようとして失敗していたのです.
mutt の仕様なのか,Maildir の仕様なのかは分かりませんが,mutt で Maildir 形式のメールボックスを用いると,既読のメールに対して,"xxxxxxxxxx:S" という具合に,コロンを含むファイル名を付けようとします.Windows が用いるファイルシステム(FAT および NTFS)では当然のごとく,コロンをファイル名の文字として使用できません.
... というわけで,オープンソース界における伝家の宝刀,patch を振りかざすことにしました.
同様の問題に直面している人は他にもいるようで,検索を掛けると mutt 1.4.2.1i-ja のソースファイル mh.c を変更するらしいことはすぐに分かりました.当該ファイルを見てみると... 見事にコロンがコード中にマジックナンバーの如く埋め込まれています.せめて define
して欲しかった...
とりあえず,コロンの代わりにセミコロンを使うようにして万事解決.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2004082101
トラックバックはありません.