[mew-dist 18098] RE: 「announce@なんとか」のrefile
KOIE Hidetaka ( 鯉江英隆 )
hide at example.com
2001年 7月 17日 (火) 11:14:53 JST
From: KOIE Hidetaka (鯉江英隆) <hide at example.com>
Subject: [Mew-dist 17911] RE: 「announce@なんとか」のrefile
Date: Thu, 28 Jun 2001 11:41:35 +0900
Message-Id: <01Jun28.115638jst.29569 at example.com>
| | +なんか/announce@なんとか
| | というフォルダは、お気に召さないのでしょうか?
|
| 想像さえしませんでした。
| local-partがありきたりの単語だったらdomainも含む
| という方針にします。
あのときは「+なんとか/announce@なんとか」にrefileできたのですが、
なぜか今日はできません。
とりあえず mew-refile-guess-by-foler2 なるものをつくって逃げました。
━━━━━━━━━━━━━━ここから━━━━━━━━━━━━━━
;;mew-assoc-case-equal とちがってマッチしたものを全て返す
(defun mew-assoc-case-equal2 (key alist nth)
(let ((skey (downcase key)) a n ret)
(catch 'loop
(while alist
(setq a (car alist))
(setq n (nth nth a))
(if (and (stringp n) (string= (downcase n) skey))
(setq ret (cons a ret)))
(if (eq n t)
(progn
(setq ret (cons a ret))
(throw 'loop a)))
(setq alist (cdr alist))))
ret))
;; mew-refile-guess-by-folderとちがって複数の候補を返す。また、
;; To: pooh-lovers at example.com のとき
;; +misc/pooh-lovers だけでなく +misc/pooh-lovers at example.com にもマッチする。
(defun mew-refile-guess-by-folder2 ()
(let* ((to-cc (mew-header-parse-address-list mew-refile-guess-key-list))
(to-cc2 to-cc)
ent ret ml-name)
(while to-cc
(setq ml-name (mew-addrstr-extract-user (or (car to-cc) "")))
(setq ent (mew-assoc-case-equal2 ml-name mew-folder-alist 1))
(if ent (setq ret (append (mapcar (lambda (x) (nth 0 x)) ent) ret)))
(setq to-cc (cdr to-cc)))
(if (null ret)
(while to-cc2
(setq ml-name (or (car to-cc2) ""))
(setq ent (mew-assoc-case-equal2 ml-name mew-folder-alist 1))
(if ent (setq ret (append (mapcar (lambda (x) (nth 0 x)) ent) ret)))
(setq to-cc2 (cdr to-cc2))))
(mew-uniq-list (nreverse ret))))
━━━━━━━━━━━━━━ここまで━━━━━━━━━━━━━━
--
KOIE Hidetaka 鯉江英隆 <hide at example.com>
Mew-dist メーリングリストの案内