[Mew-dist 11402] Re: auto refile to multiple folders with mew-refile-guess-by-alist
Tomohisa Yazaki
yazaki at example.com
1999年 11月 22日 (月) 19:26:26 JST
矢崎です。
お返事遅くなりました。
From: Yoshinari NOMURA <nom at example.com>
Subject: [Mew-dist 11355] Re: auto refile to multiple folders with mew-refile-guess-by-alist
Date: Wed, 17 Nov 1999 14:38:11 +0900
Message-ID: <19991117143806Z.nom at example.com>
nom> 割と偶然です。guess は、`+mailingList/mew,+inbox' を意味的に 1つ
nom> のフォルダだと思って提示しています。
nom>
nom> しかし、`o' の場合は、ミニバッファの入力関数を一度系由するので、
nom> そのおかげで ',' が 2つの folder の区切りだと解釈されます。
nom> 一方、`M-o' の場合は、そのプロセスがないので、literal に
nom> `+mailingList/mew,+inbox' という folder だと解釈されます。
ああ、やっぱり偶然だったのですか…。
nom> 確かにおっしゃる通りですね。mew-reilfe.el の
nom>
nom> (defun mew-refile-guess-by-alist ()
nom> (mew-refile-guess-by-alist1 mew-refile-guess-alist))
nom>
nom> を以下のように置き換えるとうまくいきますか?
nom>
nom> ;; In short, I want to do :
nom> ;; (apply 'append (mapcar '(lambda (x) (mew-split x ?,)) lst)))
nom> ;;
nom> (defun mew-refile-guess-by-alist ()
nom> (let* ((lst (mew-refile-guess-by-alist1 mew-refile-guess-alist))
nom> (tmp lst) next split)
nom> (while tmp
nom> (setq next (cdr tmp))
nom> (if (not (string-match "," (car tmp)))
nom> ()
nom> (setq split (mew-split (car tmp) ?,))
nom> (setcar tmp (car split))
nom> (setcdr tmp (cdr split))
nom> (nconc tmp next))
nom> (setq tmp next))
nom> (mew-uniq-list lst)
nom> ))
これでうまく行きました。ありがとうございます。
nom> 逆に mew-refile-guess-by-alist で "+xxx,+yyy" を "+xxx", "+yyy"
nom> と解釈するように変更すると、不都合がある人はいないのか少し心配です。
ああ、なるほど。"," をフォルダの名前に入れたいという人がいるかも知れな
いのですね。
(setq mew-refile-guess-alist
'(("\\(To:\\|Cc:\\)"
("mew-dist at example.com" . "+'ML,mew'"))))
のように ' でくくってみましたが、これでは "o"(mew-summary-refile) でも
ちゃんと動きませんね。
ということで、"," をフォルダの名前に使うのはあきらめてもらうか、"," を
quote するような仕組みをちゃんと作るか(今ないのであれば)、というところ
でしょうか。ちゃんと作るのは、フォルダの補完とかあるところからすると大
変そうですね。(…といろいろ言ってはみても自分では何も作れない…済みま
せんです)
では。
--
矢崎 友久
yazaki at example.com
Mew-dist メーリングリストの案内