[mew-dist 21015] mew-refile-guess-by-thread-learn
KOIE Hidetaka ( 鯉江英隆 )
hide at example.com
2002年 6月 7日 (金) 16:16:03 JST
昔に「guess-by-threadに複数フォルダを学習させたいんです」と
聞いて何か返事をいただいたような記憶があるのですが、
そのメイルをさがし出せなかったので、もういちど考えてみます。
これ↓が希望する動作で、リファイルフォルダ(chosen)をそのまま学習します。
(defun mew-refile-guess-by-thread-learn (chosen info)
;; Create mew-refile-msgid-alist for mew-refile-guess-by-thread.
(message "mew-refile-guess-by-thread-learn: %s" chosen)
(let* ((msgid (mew-header-get-value mew-message-id:))
(folder (car chosen)))
(if (and msgid (string-match "<[^ \n>]*>" msgid))
(setq msgid (match-string 0 msgid)))
(when (and msgid chosen)
(setq mew-refile-msgid-alist
(cons (list msgid (mapconcat 'identity chosen ",") "??")
(delq (assoc msgid mew-refile-msgid-alist) ;; delq is right
mew-refile-msgid-alist))))))
現行のmew-refile-guess-by-thread-learn()を
理解しようと試みたんですがあまりすっきりしません。
学習するフォルダは、リファイルフォルダのうち
guess-by-threadの推測に含まていたフォルダか、
他のどの推測関数もはずれのフォルダ
である。
もし、 guess-by-threadの推測がかすりもせずはずれて、
しかも他の推測関数はあててきた場合、
しかたがないのでリファイルフォルダの最初のを学習する。
となっていると読みました。
またコードでよくわからないところがって
oho は二重ループの中で短くなっていきますが
内側のループに入りなおすまえに (setq oho info) が必要のように思います。
--
KOIE Hidetaka 鯉江英隆 <hide at example.com>
Mew-dist メーリングリストの案内