[Mew-dist 1087] Re: mew-summary-save (Re: Some about Mew)

SAKAI Kiyotaka ksakai at example.com
1997年 6月 18日 (水) 13:53:29 JST


>> In article <19970611191721U.p-katoh at example.com>, "Takashi P.KATOH" <p-katoh at example.com> writes:

>> mew-summary-save で確認せずに save したら、誤入力したときに既存のファ
>> イルを破壊してしまうので危険だと思いますが。

> 「常に確認しない」ということではなくて、例えば、

> 1) 既にファイルが存在しない場合   -> 何も聞かない
> 2) 既にファイルが存在して、
>     a) method が append のとき    -> 何も聞かない
>     b) method が overwrite のとき -> 本当に上書きするか聞く

> ということではないでしょうか。

なるほど。

では、mew-file-ask-p という変数を用意して、これが nil のときは上の仕様
になるようにしてみました。mew-1.80 の mew-summary.el へのパッチですが、
mew-1.70 のものにも当たるのではないかと思います。
-- 
酒井 清隆 (E-mail: ksakai at example.com)

-------------- next part --------------
===================================================================
RCS file: RCS/mew-summary.el,v
retrieving revision 1.1
diff -u -r1.1 mew-summary.el
--- mew-summary.el	1997/06/18 04:40:07	1.1
+++ mew-summary.el	1997/06/18 04:49:53
@@ -19,6 +19,9 @@
 ;;; User customize variables
 ;;;
 
+(defvar mew-file-ask-p t
+  "*If non-nil, ask user to save or not even if file doesn't exist.")
+
 (defvar mew-summary-mode-map    nil)
 
 (defvar mew-summary-mode-menu-spec
@@ -1628,19 +1631,23 @@
 	(part (mew-summary-part-number))
 	(action "Save")
 	(append-p nil)
+	(ask-p mew-file-ask-p)
 	(cbuf (mew-summary-folder-name))
 	file)
     (if (not (or msg part))
 	(message "No message or part here")
       (setq file (mew-input-file-name))
       (if (file-exists-p file)
-	  (if (null mew-file-append-p)
-	      (setq action "Overwrite")
-	    (setq action "Append")
-	    (setq append-p t)))
+	  (cond ((null mew-file-append-p)
+		 (setq action "Overwrite")
+		 (setq ask-p t))
+		(t
+		 (setq action "Append")
+		 (setq append-p t))))
       (cond
        (part
-	(if (mew-y-or-n-p "%s part %s to %s? " action part file)
+	(if (or (not ask-p)
+		(mew-y-or-n-p "%s part %s to %s? " action part file))
 	    (save-excursion
 	      (set-buffer (mew-current-get 'cache))
 	      (let* ((case-fold-search t)
@@ -1665,7 +1672,8 @@
 	      ))
 	)
        (msg
-	(if (mew-y-or-n-p "%s message %s to %s? " action msg file)
+	(if (or (not ask-p)
+		(mew-y-or-n-p "%s message %s to %s? " action msg file))
 	    (save-excursion
 	      (mew-set-buffer-tmp)
 	      (mew-flet


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