[mew-dist 21860] 再帰的 rule (mew-refile-guess-alist)

Ta-ku-ya II ayucat at example.com
2002年 10月 5日 (土) 09:48:01 JST


http://www.mew.org/beta/info/mew_45.html.ja#SEC45

などを参考にして、「再帰的に」rule を書いていました。

 X-HeaderA: が存在しないメッセージの振り分けたく、

(setq mew-refile-guess-alist
      '(("X-HeaderA:"
	 ("rule1" . "+fld1")
	 ("rule2" . 
	  (("rule2-1" . "+fld2-1")
	   ("rule2-2" . "+fld2-2"))))
	(nil .		; <key> を nil に
	     (("X-HeaderB:"
	       ("rule3" . "+fld3")
	       ("rule4" . "+fld4"))
	      ("X-HeaderC:"
	       ("rule5" . "+fld5")
	       ("rule6" . "+fld6"))))))

と書きましたが、nil 以下をうまく推測してくれません。そこで 
mew-refile-guess-by-alist1 を見てみたのですが、key の位置にある nil の
後ろは必ず<folder> が来なければならないようだったので、

(setq mew-refile-guess-alist
      '(("X-HeaderA:"
	 ("rule1" . "+fld1")
	 ("rule2" . 
	  (("rule2-1" . "+fld2-1")
	   ("rule2-2" . "+fld2-2")))
	 (nil .		; <value> を nil に
	      (("X-HeaderB:"
		("rule3" . "+fld3")
		("rule4" . "+fld4"))
	       ("X-HeaderC:"
		("rule5" . "+fld5")
		("rule6" . "+fld6")))))))

と書きました。と、やはり推測してくれませんでした。

 X-HeaderA: が存在しないメッセージの中で、X-HeaderB: や X-HeaderC: を
用いて refile したいのですが、書き方が違っているのでしょうか。それとも、
今の段階ではそんな refile はできないのでしょうか。


<余談>
rule ::= '((<key> <alist>) (<key> <alist>) (<key> <alist>) ...)
<alist> ::= (<value> . <folder>|<rule>) (<value> . <folder>|<rule>) ...

を信じて、

'((<key1>
   (<value> .
	    '((<key1-1> <alist>)
	      (<key1-2> <alist>)))))

と書いたら、怒られてしまい、深い位置にある ' を取ったら、できました。

 rule と <rule> は何か違うものを意味しているんでしょうが、それがどう
違うのだかは分かりませんでした(;_;)
</余談>

-- 
Ta-ku-ya II <ayucat at example.com> <ayucat at example.com>
            http://esprix.net/~takuya2/




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