[mew-dist 21297] "x" for IMAP
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2002年 7月 30日 (火) 00:00:58 JST
今まで、IMAP に対する "x" や "I" は、そのフォルダのすべての UID の一覧
を作り、対象となるメールが存在するか確認していました。
この確認はほとんど無駄であるという結論に至ったので、確認しないようにし
ました。
メールを消す場合は、対象のメールをグループ化するので、上記のハックと合
わせて、とっても高速です。たとえば、10000 通のメールを消すのも、現在の
コードでは一瞬です。
refile のグループ化も、明日やります。
P.S.
存在しないメールに対し、COPY や STORE コマンドを使うと、エラーを返す
IMAP サーバがあるかもしれません。(仕様では、何ら定められていません。は
い。)
たとえば、Cyrus だと、通り番号で指定するとエラーになるのに、UID だとエ
ラーになりません。
Mew は、存在しないメールに対し、COPY や STORE してもエラーにならないこ
とを期待しています。(そうじゃないと、IMAP の仕様は矛盾だらけだ。)
もし、現在の Mew で IMAP の "x" がうまく動かなくなった場合は、
mew-imap-skip-uidl を nil にして下さい。これで、メールの存在を確認する
昔のコードを使うようになります。こういうサーバに出会ったら、そのサーバ
の名前とバージョンを教えて下さい。
--かず
Mew-dist メーリングリストの案内