最近はメールの読み書きに全文検索メーラーmorqを使っているわけだが、 返事を書かなきゃいけないメールをinboxに残しておくとすぐに数百通溜ってしまう。 まあ、処理速度が十分に速いのでそれは別に構わないんだけど、 溜った古いメールにリプライがついたことが発見し難いのが難点だ。 今日も危うく見逃すところだった。
しかし、考えてみればスレッドというものはなにも先頭のメールの日付順に並んでいる必要がある わけではない。Gmailとかはスレッド(conversation)の最後のメールの日付で並んでいる。
そうだよな。そっちがあるべき姿だろう。
というわけでmorqをハック。スレッド中最新のメールの日付でソートするようにした。 これで古いメールにリプライがあればスレッドごと浮かびあがってくるわけだ。 変更したのは、Rubyバックエンドでスレッドごとに最新の日付を保存するように追加した4行と、 ソートの基準を変更した1行だけ。 たった5行でこんなに快適。これこそがハックの醍醐味。
それから昨日の「;;」に対応できるようにruby-mode.elをハックした。 ruby-mode.elはmorqよりもだいぶ「魔術度」が高いので苦労した。 おまけにruby-mode.elに以前からあったバグを今回組み込んでしまったと勘違いして 見当違いなコード変更をしてしまってたし。
ま、楽しかったからいいけど。