emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp/net tramp-smb.el


From: Michael Albinus
Subject: [Emacs-diffs] emacs/lisp/net tramp-smb.el
Date: Mon, 05 Jan 2009 19:40:01 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Michael Albinus <albinus>       09/01/05 19:40:01

Modified files:
        lisp/net       : tramp-smb.el 

Log message:
        * net/tramp-smb.el (tramp-smb-handle-copy-file)
        (tramp-smb-handle-rename-file, tramp-smb-handle-write-region):
        Delete temporary file in case of error.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/net/tramp-smb.el?cvsroot=emacs&r1=1.45&r2=1.46

Patches:
Index: tramp-smb.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/tramp-smb.el,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- tramp-smb.el        3 Jan 2009 14:59:12 -0000       1.45
+++ tramp-smb.el        5 Jan 2009 19:40:00 -0000       1.46
@@ -216,7 +216,10 @@
 
     (if tmpfile
        ;; Remote filename.
+       (condition-case err
        (rename-file tmpfile newname ok-if-already-exists)
+         (error (delete-file tmpfile)
+                (signal (car err) (cdr err))))
 
       ;; Remote newname.
       (when (file-directory-p newname)
@@ -548,10 +551,13 @@
   (let ((tmpfile (file-local-copy filename)))
 
     (if tmpfile
-       ;; remote filename
+       ;; Remote filename.
+       (condition-case err
        (rename-file tmpfile newname ok-if-already-exists)
+         (error (delete-file tmpfile)
+                (signal (car err) (cdr err))))
 
-      ;; remote newname
+      ;; Remote newname.
       (when (file-directory-p newname)
        (setq newname (expand-file-name
                      (file-name-nondirectory filename) newname)))
@@ -618,12 +624,13 @@
         (list start end tmpfile append 'no-message lockname)))
 
       (tramp-message v 5 "Writing tmp file %s to file %s..." tmpfile filename)
+      (unwind-protect
       (if (tramp-smb-send-command v (format "put %s \"%s\"" tmpfile file))
          (tramp-message
           v 5 "Writing tmp file %s to file %s...done" tmpfile filename)
        (tramp-error v 'file-error "Cannot write `%s'" filename))
+       (delete-file tmpfile))
 
-      (delete-file tmpfile)
       (unless (equal curbuf (current-buffer))
        (tramp-error
         v 'file-error




reply via email to

[Prev in Thread] Current Thread [Next in Thread]