[mew-dist 22254] Re: unlink mark in nntp folder, etc...

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2002年 11月 12日 (火) 20:22:27 JST


From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 22252] Re: unlink mark in nntp folder, etc...
Message-ID: <20021112.164335.68543804.kazu at example.com>
Date: Tue, 12 Nov 2002 16:43:35 +0900 (JST)

> > しかし、現状では mew-summary-local-copy() で 『+ => +』 で copy
> > 出来るのですが、これ仕様通りですか?これが間違いなら、上記の修正
> > 方法も違ってくるでしょう。
> 
> 移動先がローカルフォルダであるというのが仕様です。移動元は何でもありで
> す。

はい、理解しました。

じゃ、"c" となにが違うのか?といういう気も一瞬したのですが、"c"
は guess するのですね。

じゃあと試してみたら、mew-summary-copy() がエンバグしているよう
です。

# 瓢箪から駒 :-)

mew-refile-decide-folders() で guess が一つの folder だと、

      (cond
       (cur-folders
         <<snip>>
       ((nth 1 (car learn-info))
         <<snip>>
       (t 
	;; single guess
	(setq singlep t)

singlep が t になるから、exfld を cands に付け加えても
(mew-input-refile-folders cands singlep case proto) が正常に動作
しないです。

      (when exfld
	;; copying, two folders are necessary
	(setq singlep nil) <= の追加が必要
	(if (or (null cands) (equal (list exfld) cands))
	    (setq cands (list exfld proto))
	  (setq cands (cons exfld cands))))

で良いと思うのですが、完全に理解しているわけでないので間違ってい
るかも。

> > P.S.
> > で、やっぱり「nntp folder のゴミ記事は現状では消せない」なんです
> > よね。
> 
> 消せません。

はい。

> NNTP での D & x はキャンセルを意味するようになる予定です。メッセージを
> 隠すのは、フィルターなど新しい概念が必要です。

ぼくの nntp の使い方は、mew-gnus を使っているときから、

(1) nntp folder でなにか有効な記事を見つける。
(2) そいつは local folder (+news) に保存。(今だと "lc")
(3) あとはすててしまう。
(4) 原則的に post はしない。(なのでキャンセルも無し ^^;)

なのですが、ゴミ記事も含めて「隠す」必要はなくて、キャッシュから
抹殺したくなるのです。

# 貧乏性なのでディスクがもったいないというのもある。

どっちにしろ次期バージョンでの話になると思うので、そのときにゆっ
くりとやりましょう。

-- 
白井秀行 (mailto:shirai at example.com)

といいながら、こんなので十分な私でした。

(defun mew-nntp-delete-marked-msgs (&optional unlink)
  "nntp folder の `*' mark 付きの message を delete。C-u だと unlink。"
  (interactive "P")
  (mew-summary-only
   (when (mew-summary-exclusive-p)
     (if (mew-folder-nntpp (mew-sinfo-get-folder))
	 (let* ((fld (mew-summary-folder-name))
		(regex (mew-mark-regex mew-mark-review))
		msgs)
	   (mew-decode-syntax-delete)
	   (save-excursion
	     (goto-char (point-min))
	     (while (re-search-forward regex nil t)
	       (setq msgs (cons (mew-summary-message-number) msgs))
	       (mew-elet
		(delete-region (progn (beginning-of-line) (point))
			       (progn (forward-line) (point)))))
	     (when msgs
	       (mew-elet (set-buffer-modified-p nil))
	       (if unlink
		   (mew-mark-exec-unlink fld msgs)
		 (mew-mark-exec-delete fld msgs))
	       (mew-summary-folder-cache-save))))
       (message "This command cannot be used in %s" (mew-sinfo-get-folder))))))



Mew-dist メーリングリストの案内