[mew-dist 28525] Re: mew-refile-guess-alist

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2008年 7月 16日 (水) 14:28:57 JST


山本です。
二週間忙しくて、お返事できませんでした。ごめんなさい。

> そこで、mew-refile-guess-alist に以下のような設定をしました。
> 
>   (setq mew-refile-guess-alist
>     '(("X-ML-Name:"
>         ("^\\(foo\\)$"            "+aproj/\\1")
>         (nil
>           ("X-ML-Name:"
>             ("^\\(.*\\)$"         "+bproj/\\1"))))
>       ("List-Id:"
>         ("<\\(.+\\)\\.bar\\.jp>"  "+aproj/\\1")
>         (nil
>           ("List-Id:"
>             ("<\\([^\\.]*\\)\\."  "+bproj/\\1"))))))
> 
> C-u o すると、a-1、a-2、b-1 は alist から期待通りの候補が返りますが、
> b-2 は alist からの候補が返ってきません。

結論から言いますと、nil に対して <rule> は書けないのです。nil には、文
字列、すなわちフォルダ名だけを指定できます。

よって、b-2 の挙動は正常です。a-2 が推測できるのは、何か別のルールが適
応されているのでしょう。

ちなみに、"<\\([^\\.]*\\)\\." の部分は害はないと思いますが、正しくは、
"<\\([^.]*\\)\\." ではないかと思います。

参考:
	http://www.mew.org/~kazu/doc/elisp/regexp.html

現在の Mew で、mew-refile-ctrl-multi が t の場合は、"bar.jp" 以外で終わ
るという正規表現を書かないといけません。正規表現は不得意なので、正確に
は言えませんが、そういう正規表現は書けないのではないかと思います。

nil や t のときも、<rule> を書けるようにしてもいいです。

--かず



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