[Mew-dist 3192] Re: draft/mime directory can't override.

Mito mit at example.com
1997年 12月 15日 (月) 21:29:45 JST


※ "元" こと motoki at example.com の
   『[Mew-dist 3117] draft/mime directory can't override.』からの引用です。

元> メールを作成している際に( +draft/1とします)、マルチパートで c を押して、
元> ファイルをアタッチしようとすると、Copy to: で指定したファイルが存在すると
元> 上書きするか確認してきます。このとき、y と答えても、
元> File already exists: /home/motoki/Mail/draft/mime/1/test.c
元> と言われて上書きしてくれません。
元> 
元> 上書きの確認のところで、n と答えたときには、もう一度 Copy to: の
元> プロンプトに戻る方が親切だと思います。

これは b7 で直っているようですが、overwrite できないのは不便
に感じます。

こんな感じにしてもらえないでしょうか。
-- 
12/15 21:28頃
NECソフトウェア新潟  水戸
mailto:mit at example.com
-------------- next part --------------
--- mew-attach.el	1997/12/15 10:48:16	1.1
+++ mew-attach.el	1997/12/15 12:13:28
@@ -400,20 +400,28 @@
 			"link to %s(%s): " 
 			subdir
 			(file-name-nondirectory fromfile))))
-	   (efile (concat subdir tofile)))
-      (while (file-exists-p (expand-file-name efile mimedir))
-	(setq tofile (mew-input-string 
-		      (concat (format "%s exists. " efile)"link to %s(%s): ")
-		      subdir
-		      (file-name-nondirectory fromfile)))
-	(setq efile (concat subdir tofile)))
+	   (efile (concat subdir tofile))
+           (force nil))
+      (while (and (not force)
+                  (file-exists-p (expand-file-name efile mimedir)))
+        (if (y-or-n-p (format "%s exists. Overwrite it? " efile))
+            (setq force t)
+          (setq tofile (mew-input-string 
+                        (concat (format "%s exists. " efile)"link to %s(%s): ")
+                        subdir
+                        (file-name-nondirectory fromfile)))
+          (setq efile (concat subdir tofile))))
+      (if force
+          (delete-file (expand-file-name efile mimedir)))
       (mew-symbolic-link fromfile (expand-file-name efile mimedir))
-      (setq mew-encode-syntax
-	    (mew-syntax-insert-entry
-	     mew-encode-syntax 
-	     nums
-	     (mew-encode-syntax-single tofile)))
-      (mew-encode-syntax-print mew-encode-syntax)
+      (if force
+          ()
+        (setq mew-encode-syntax
+              (mew-syntax-insert-entry
+               mew-encode-syntax 
+               nums
+               (mew-encode-syntax-single tofile)))
+        (mew-encode-syntax-print mew-encode-syntax))
       )))
 
 (defun mew-attach-copy (&optional from to)
@@ -431,20 +439,27 @@
 			"Copy to %s(%s): "
 			subdir
 			(file-name-nondirectory fromfile))))
-	   (efile (concat subdir tofile)))
-      (while (file-exists-p (expand-file-name efile mimedir))
-	(setq tofile (mew-input-string
-		      (concat (format "%s exists. " efile) "Copy to %s(%s): ")
-		      subdir
-		      (file-name-nondirectory fromfile)))
-	(setq efile (concat subdir tofile)))
-      (copy-file fromfile (expand-file-name efile mimedir))
-      (setq mew-encode-syntax
-	    (mew-syntax-insert-entry
-	     mew-encode-syntax 
-	     nums
-	     (mew-encode-syntax-single tofile)))
-      (mew-encode-syntax-print mew-encode-syntax)
+	   (efile (concat subdir tofile))
+           (force nil))
+      (while (and (not force)
+                  (file-exists-p (expand-file-name efile mimedir)))
+        (if (y-or-n-p (format "%s exists. Overwrite it? " efile))
+            (setq force t)
+          (setq tofile (mew-input-string
+                        (concat (format "%s exists. " efile)
+                                "Copy to %s(%s): ")
+                        subdir
+                        (file-name-nondirectory fromfile)))
+          (setq efile (concat subdir tofile))))
+      (copy-file fromfile (expand-file-name efile mimedir) t)
+      (if force
+          ()
+        (setq mew-encode-syntax
+              (mew-syntax-insert-entry
+               mew-encode-syntax 
+               nums
+               (mew-encode-syntax-single tofile)))
+        (mew-encode-syntax-print mew-encode-syntax))
       )))
 
 (defun mew-attach-find-new-file ()


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