GnusでGmailのメールを日本語で検索できるgnus-x-gm-raw.elを作りました
これは何?
最近、GnusでGmailを扱おうと試みています。
Gnusではgnus-group-make-nnir-group(デフォルトで"G G")でグループ内のメール検索ができますが、
GmailのIMAPフォルダを日本語で検索すると、以下のように表示され検索できませんでした。
Couldn't request group: Search produced empty results.
試しに、Yahoo!のIMAPフォルダに対して同じ操作をすると検索できたため、
Gmailだけの現象のようで、調べると以下のページが見つかりました。
[tech] Gmail のメールを OAuth で読む (Perl) | Wed, Jun 19. 2013 - 氾濫原 [HANRANGEN]
X-GM-RAWという、Webインタフェースの検索窓と同じ書式でIMAPのSEARCHコマンドを発行できる機能があり、
それには日本語も使えるということだったので、この機能を使ってGmailのフォルダを検索する拡張を作りました。
特徴
意識せず使える
Gmailのフォルダを対象に、上記のgnus-group-make-nnir-groupを実行すれば、
内部ではX-GM-RAWを使ってIMAPサーバにアクセスするようになります。
インストール/設定
以下にまとめました。
https://github.com/aki2o/gnus-x-gm-raw/blob/master/README.md
その他
- 動作確認したEmacsは、 GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 3.4.2) of 2014-02-22 on chindi10, modified by Debian です。
あとがき
X-GM-RAWを使わなくても、もしかしたら日本語で検索できる方法はあるかも知れません。
ただ、nnimap.elでは、SEARCHコマンド発行時にCHARSETが指定してなかったので、
指定するようにしてみましたが、それではダメでした。
gnus-group-make-nnir-groupの入力欄に、X-GM-RAWの書式で入力することも可能ですが、
接頭引数付き(C-u)の実行でヘッダが幾つか(subjectとか)選べるので、それで十分かなと思ってます。
他の書式で指定したい場面が出てくるようだったら、
X-GM-RAWの書式をベタで書くのは大変なので、ヘルパー機能でも付けようかと思ってます。
あと、X-GM-RAWでは2重引用符で括るとフレーズ検索となるということなんですが、
2重引用符で括らなくても何故かフレーズ検索になってしまっているようです。
Webインタフェースの検索窓からの入力だと、2重引用符の有無で検索結果が違うのに、
Gnusからだと、どちらも2重引用符有りの結果になってしまいました。
発行しているコマンドが正しいことは確認したので、ちょっと原因がわかりません。
Enjoy!!!