[mew-dist 21317] Delete duplicated messages
Shun-ichi TAHARA ( 田原 俊一 )
jado at example.com
2002年 7月 31日 (水) 12:58:15 JST
最近のMewでは、sort や pack が速くなって rescan しなくなったのはいいの
ですが、(setq mew-scan-form-mark-delete t) として、適宜 scan がかかっ
て、Message-Id:が重複したメールに D が付いてくれることを期待していたも
のとしては、結局 sort/pack 後に s all しないといけないので、あまり幸せ
になれません。
# 複数のサーバに転送したメールをかき集めるので、結構重複が出るのです
ようは、Message-Id: が重複しているメッセージに D が付けばいいだけです
ので、こんなのを仕立ててみました。ちなみに、Sylpheedには同じような機能
が載っているようです。
(define-key mew-summary-mode-map "\M-d" 'mew-summary-delete-duplicates)
とかして、M-d x S RET O とかすると、一発で整理完了で最高です。
P.S.
mew-scan-form-mark-delete/review を t にして virtual folder を作ると、
scan時にマークが打たれますが、これが元のフォルダに反映されないようです。
mew-scan-form-mark から mew-summary-mark-in-physical を呼ばないといけ
ないのかなという気がします。
_______________________________
田原 俊一 jado at example.com, shunichi_tahara at example.com
http://flowernet.gr.jp/jado/
FingerPrint: 16 9E 70 3B 05 86 5D 08 B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(defun mew-summary-delete-duplicates (&optional arg)
"Put delete marks on the duplicased messages in Summary, Virtual or
Thread mode.
If called with '\\[universal-argument]', process in the region."
(interactive "P")
(mew-summary-not-in-queue
(mew-summary-not-in-draft
(let (beg end region my-id ids)
(cond
(arg
(setq region (mew-summary-get-region))
(setq beg (car region))
(setq end (cdr region)))
(t
(setq beg (point-min))
(setq end (point-max))))
(message "Marking duplications...")
(save-excursion
(goto-char end)
(beginning-of-line)
(setq end (point))
(goto-char beg)
(beginning-of-line)
(while (< (point) end)
(when (and (mew-summary-message-number)
(not (mew-summary-marked-p)))
(setq my-id (mew-summary-my-id))
(when (> (length my-id) 0)
(when (member my-id ids)
(mew-mark-put-mark mew-mark-delete 'no-msg))
(setq ids (cons my-id ids))))
(forward-line 1)))
(message "Marking duplications...done")))))
Mew-dist メーリングリストの案内