[mew-dist 24295] refile to %foo/bar

TAGA Nayuta nayuta at example.com
2003年 12月 26日 (金) 03:11:06 JST


はじめまして。奈由太と申します。
Mew にはいつも大変お世話になっており、ありがとうございます。

さて、現在以下のような環境で使用しているのですが、
いくつか問題があり困っており、お力添えを頂きたいと思います。

courier-imap 1.7.3
Meadow 1.15 + Mew 4.0.62

まず、%foo/bar というフォルダへの refile についてです。

メールを %test から %foo/bar というフォルダへ refile しようとすると、
mew 上では一見成功したかのように見えます。%test からメールは消え、
%foo/bar では # つきで表示されます。

しかし、実際にはサーバ上には ~/Maildir/.foo.bar というフォルダは作成さ
れておらず、mew 上で %test と %foo/bar で mew-summary-ls sync すると、
refile する前の状態に戻ってしまいます。

もちろん %foo.bar という名前のフォルダへ refile すればよいのですが、し
ばしば入力し間違えて / を入力してしまいます。

その後、ローカルキャッシュには %foo/bar が残ったままであるようで、
mew-summary-delete-folder することもできず、妙な状態です。

とりあえず以下のようにしてしのいでいるのですが、何か根本的な対策はない
でしょうか?

  (defun mew-input-folder-replace-/-to-dot-if-imap ()
    "courier-imap のフォルダセパレータは `.' なので、
IMAP フォルダ名を入力中は、
`/' を入力した時は代わりに `.' を表示する。"
    (interactive)
    (if (save-excursion
	  (beginning-of-buffer)
	  (re-search-forward "%" nil t 1))
	(insert ".")
      (insert "/")))

  (add-hook 'mew-summary-mode-hook
	    (function
	     (lambda ()
	       (define-key mew-input-folder-map "/"
		 'mew-input-folder-replace-/-to-dot-if-imap)
	       )))

つぎに、SPAM 学習と refile の同時実行についてです。

l s o %spam (mew-summary-learn-spam したあとにそのファイルを %spam へ 
refile) という手順を l s だけで行いたいのですが、良い方法はないでしょ
うか?

現在は下記のようにしているのですが、カーソルが自動で下(または上)の行へ
動いてくれず、少々不便な上に、正しいコードなのかどうかもよくわかってません。

  (defadvice mew-summary-learn-spam
    (after mew-summary-learn-spam-then-refile activate)
    (mew-summary-msg-or-part
     (mew-summary-not-in-draft
      (mew-summary-local-or-imap
       (mew-summary-refile-body '("%spam") nil t nil nil)))))

-- 
∩∩ | TAGA Nayuta <nayuta at example.com> 
"∪" | 多賀 奈由太




Mew-dist メーリングリストの案内