[Mew-dist 2222] Re: Delete mail in trash folder
Maybe TABOO
y-koga at example.com
1997年 9月 24日 (水) 19:09:52 JST
Akihiro Motoki <motoki at example.com>:
> > さて、取りまとめということなので、やってみませう。
> よろしくお願いします。特にtrashフォルダでの消去はあった方が便利ですので。
>
> > 需要がありそうな設定としては、
> > - 常に消さない
> > - 常に消す
> > - ゴミ箱でだけ消す
> > - 特定のフォルダでは消す
> これだけあれば十分だと僕は思います。変数の形式はおまかせしますが、
> 1変数の方が設定で混乱することがなくて、いいと思います。
> #フォルダ指定のlistは別の変数にするのかな。
とりあえず、これを実現するパッチを送ります。
変数 mew-msg-rm-policy
"never" -> 常に消さない
"all" -> 常に消す
"trashonly" -> ゴミ箱でだけ消す
"uselist" -> mew-msg-rm-folder-list にセットした
リストにマッチするフォルダでだけ消す
また、mew-msg-rm-policy や mew-msg-rm-folder-list を変更した場合、
summary モードで C-u Z すると変更が反映されるようにしています。あまり
変更するものではないだろうから、なんとなくこの方がよいかなという気がし
ただけで、これを変更するにはやぶさかではないです。
----
NEC ネットワーキング技術研究所 & 慶應義塾SFC研究所
こがよういちろう <y-koga at example.com> 他
-------------- next part --------------
--- mew.el.orig Thu Sep 18 10:31:38 1997
+++ mew.el Wed Sep 24 18:51:49 1997
@@ -408,6 +408,7 @@
(defvar mew-prog-impath "impath")
(defvar mew-prog-impack "impack")
(defvar mew-prog-immv "immv")
+(defvar mew-prog-imrm "imrm")
(defvar mew-prog-imput "imput")
(defvar mew-prog-imsort "imsort")
(defvar mew-prog-imgrep "imgrep")
@@ -440,6 +441,12 @@
(defvar mew-inbox-folder nil)
(defvar mew-draft-folder nil)
(defvar mew-trash-folder nil)
+
+(defvar mew-msg-rm-policy nil
+ "Set remove policy. You can set one of never, all, trashonly, or uselist")
+(defvar mew-msg-rm-folder-list nil
+ "Folder list to remove message really.")
+
(defvar mew-petname-file nil)
(defvar mew-draft-mime-folder nil
"A directory where attachments are contained.")
@@ -654,6 +661,19 @@
(setq mew-petname-alist (mew-petname-make-alist))
(setq mew-folder-list (mew-folder-make-list (interactive-p)))
(setq mew-folder-alist (mew-folder-make-alist mew-folder-list))
+ (cond
+ ((string-equal mew-msg-rm-policy "all")
+ (setq mew-msg-really-rm-folder-list '("..+")))
+ ((string-equal mew-msg-rm-policy "trashonly")
+ (setq mew-msg-really-rm-folder-list (list mew-trash-folder)))
+ ((string-equal mew-msg-rm-policy "never")
+ (setq mew-msg-really-rm-folder-list nil))
+ ((and (string-equal mew-msg-rm-policy "uselist") mew-msg-rm-folder-list)
+ (setq mew-msg-really-rm-folder-list mew-msg-rm-folder-list))
+ (t
+ (setq mew-msg-really-rm-folder-list nil))
+ )
+ ;;
(message "Updating aliases and folders ... done")
)
(t
--- mew-mark.el.orig Thu Sep 18 10:29:15 1997
+++ mew-mark.el Wed Sep 24 18:34:36 1997
@@ -490,6 +490,10 @@
(let* ((msgs (mew-summary-mark-collect mew-mark-refile beg end))
(dels (mew-summary-mark-collect mew-mark-rmm beg end))
(src (buffer-name))
+ (del-prog mew-prog-immv)
+ (del-opt mew-trash-folder)
+ (del-folder "")
+ (del-list mew-msg-really-rm-folder-list))
refal folder folder-list tmp msg)
(if (not (mew-summary-exclusive-p))
()
@@ -556,13 +560,20 @@
;;
;; delete at once
;;
- (if (and dels (not (equal src mew-trash-folder)))
- (apply (function call-process)
- mew-prog-immv nil nil nil
- (format "--src=%s" src)
- "--link=no"
- mew-trash-folder
- dels))
+ (if dels
+ (while del-list
+ (setq del-folder (car del-list))
+ (setq del-list (cdr del-list))
+ (if (not (string-match del-folder src)) ()
+ (setq del-folderlist nil)
+ (setq del-prog mew-prog-imrm)
+ (setq del-opt "--quiet=on"))
+ )
+ (apply (function call-process)
+ del-prog nil nil nil
+ (format "--src=%s" src)
+ del-opt
+ dels))
;;
;; ending...
;;
Mew-dist メーリングリストの案内