[Mew-dist 09582] address learning
SAKAI Kiyotaka
ksakai at example.com
1999年 7月 9日 (金) 17:31:33 JST
最近の Mew にはアドレスを自動学習する機能が付いていますが、すでに自動
学習した同名のエントリーが存在する場合は古いエントリーはそのまま残って
しまいます。
これは不便なので、このような場合には古いエントリーを消して、新しいエン
トリーで上書きする仕様にしてもらえないでしょうか?
何故、このような仕様の方が嬉しいかと言うと、例えば
Majordomo at example.com
という宛先に help を送って、その後、help を読みながら過去のメールを何
通か受信しようとした場合、最初のメールの宛先は cut & paste で入れると
しても、その後は Majo[TAB][TAB] ぐらいで宛先の展開が完了するはずが、古
いエントリーがあると別のアドレスに展開されてしまって悲しい思いをするか
らです。
ただし、AddrBook, Aliases に書かれているアドレスならば、今まで通り学習
よりもそちらを優先して欲しいので、以下のパッチのような感じでしょうか。
--
酒井 清隆 (E-mail: ksakai at example.com)
-------------- next part --------------
Index: mew-addrbook.el
===================================================================
RCS file: /home/ksakai/cvsroot/mew-1.94b37/mew-addrbook.el,v
retrieving revision 1.1.1.1
diff -u -c -r1.1.1.1 mew-addrbook.el
*** mew-addrbook.el 1999/07/09 07:14:49 1.1.1.1
--- mew-addrbook.el 1999/07/09 08:19:06
***************
*** 107,121 ****
(defun mew-addrbook-alias-add (addr)
(if (and (stringp addr) (string-match "@" addr))
(let* ((user (mew-addrstr-extract-user addr))
! (match (assoc user mew-addrbook-alist)))
! (if match
! (if (equal addr (nth 1 match))
! ;; move the entry to the top
! (setq mew-alias-auto-alist
! (cons match (delete match mew-alias-auto-alist))))
! (setq mew-addrbook-alist (cons (list user addr) mew-addrbook-alist))
! (setq mew-alias-auto-alist
! (cons (list user addr) mew-alias-auto-alist))))))
(defun mew-addrbook-alias-delete (addr)
(if (and (stringp addr) (string-match "@" addr))
--- 107,132 ----
(defun mew-addrbook-alias-add (addr)
(if (and (stringp addr) (string-match "@" addr))
(let* ((user (mew-addrstr-extract-user addr))
! (match1 (assoc user mew-alias-auto-alist))
! (match2 (assoc user mew-addrbook-alist)))
! (cond (match1
! ;; replace by new alist
! (setq mew-addrbook-alist
! (cons (list user addr)
! (delete match1 mew-addrbook-alist)))
! (setq mew-alias-auto-alist
! (cons (list user addr)
! (delete match1 mew-alias-auto-alist))))
! (match2
! (if (equal addr (nth 1 match2))
! ;; move the entry to the top
! (setq mew-alias-auto-alist
! (cons match (delete match2 mew-alias-auto-alist)))))
! (t
! (setq mew-addrbook-alist
! (cons (list user addr) mew-addrbook-alist))
! (setq mew-alias-auto-alist
! (cons (list user addr) mew-alias-auto-alist)))))))
(defun mew-addrbook-alias-delete (addr)
(if (and (stringp addr) (string-match "@" addr))
Mew-dist メーリングリストの案内