[mew-dist 25946] Fix mew-summary-rename-folder()

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2005年 1月 14日 (金) 12:31:35 JST


この前、mew-nmz の "Rr" したときに思ったのですが、

(1) IMAP のときの new-dir は case:new-folder から求めないとダメ
    でしょう。
(2) rename-file() は元が directory のときは、相手にどんなものが
    あっても OK-IF-ALREADY-EXISTS に関わらずエラーしちゃうのでガー
    ド。
        
です。

-- 
白井秀行 (mailto:shirai at example.com)

Index: mew-summary4.el
===================================================================
RCS file: /cvsmew/mew/mew-summary4.el,v
retrieving revision 1.150
diff -u -u -r1.150 mew-summary4.el
--- mew-summary4.el	13 Jan 2005 08:07:15 -0000	1.150
+++ mew-summary4.el	14 Jan 2005 03:26:20 -0000
@@ -1071,12 +1071,13 @@
      (cond
       ((mew-folder-localp folder)
        (setq new-folder (mew-input-local-folder folder))
+       (setq new-dir (mew-expand-folder new-folder))
        (cond
 	((string= folder new-folder)
 	 (message "%s was not moved" folder))
+	((file-exists-p new-dir)
+	 (message "%s was not moved so %s is existed" folder new-folder))
 	(t
-	 (setq new-dir (mew-expand-folder new-folder))
-	 ;; xxx if new-dir exists?
 	 (rename-file dir new-dir)
 	 (mew-summary-switch-to-folder new-folder)
 	 (mew-kill-buffer buf)
@@ -1089,11 +1090,13 @@
       ((mew-folder-imapp folder)
        (setq new-folder (car (mew-input-refile-folders (list folder) t case mew-folder-imap)))
        (setq case:new-folder (mew-case-folder case new-folder))
+       (setq new-dir (mew-expand-folder case:new-folder))
        (cond
 	((string= folder new-folder)
 	 (message "%s was not moved" folder))
+	((file-exists-p new-dir)
+	 (message "%s was not moved so %s is existed" folder new-folder))
 	(t
-	 (setq new-dir (mew-expand-folder new-folder))
 	 (mew-imap-retrieve case 'rename case:folder case:new-folder)
 	 (mew-timing)
 	 (mew-rendezvous mew-summary-buffer-process)



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