]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp-smb.el (tramp-smb-handle-copy-file)
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 6 Jan 2009 07:56:42 +0000 (07:56 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 6 Jan 2009 07:56:42 +0000 (07:56 +0000)
(tramp-smb-handle-rename-file): Delete temporary file in case of
quit.

lisp/ChangeLog
lisp/net/tramp-smb.el
lisp/net/tramp.el

index 5267a905bdc3c6a83d866aef18437410e52e0404..e404bceba07da7b1e73f09774b53d5e3e2239055 100644 (file)
@@ -1,3 +1,11 @@
+2009-01-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-do-copy-or-rename-file-directly)
+       (tramp-handle-file-local-copy, tramp-handle-write-region)
+       * net/tramp-smb.el (tramp-smb-handle-copy-file)
+       (tramp-smb-handle-rename-file): Delete temporary file in case of
+       quit.
+
 2009-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * minibuffer.el (completion-hilit-commonality): Don't presume
index b9dc8731215d54413c727262813f115494f1a519..41f4c25318a4e982912477539cb8d30b236dc069 100644 (file)
@@ -218,8 +218,9 @@ PRESERVE-UID-GID is completely ignored."
        ;; Remote filename.
        (condition-case err
            (rename-file tmpfile newname ok-if-already-exists)
-         (error (delete-file tmpfile)
-                (signal (car err) (cdr err))))
+         ((error quit)
+          (delete-file tmpfile)
+          (signal (car err) (cdr err))))
 
       ;; Remote newname.
       (when (file-directory-p newname)
@@ -554,8 +555,9 @@ PRESERVE-UID-GID is completely ignored."
        ;; Remote filename.
        (condition-case err
            (rename-file tmpfile newname ok-if-already-exists)
-         (error (delete-file tmpfile)
-                (signal (car err) (cdr err))))
+         ((error quit)
+          (delete-file tmpfile)
+          (signal (car err) (cdr err))))
 
       ;; Remote newname.
       (when (file-directory-p newname)
index 04781c7b2c2cb90f61e2a41f52783ef20b0d546c..b226f22ad98475ade1871e6fcffb1088e9c40f4c 100644 (file)
@@ -3259,52 +3259,53 @@ the uid and gid from FILENAME."
 
           ;; We need a temporary file in between.
           (t
-           (condition-case err
-               ;; Create the temporary file.
-               (let ((tmpfile (tramp-compat-make-temp-file localname1)))
-                 (cond
-                  (t1
-                   (tramp-send-command
-                    v (format
-                       "%s %s %s" cmd
-                       (tramp-shell-quote-argument localname1)
-                       (tramp-shell-quote-argument tmpfile)))
-                   ;; We must change the ownership as remote user.
-                   (tramp-set-file-uid-gid
-                    (concat prefix tmpfile)
-                    (tramp-get-local-uid 'integer)
-                    (tramp-get-local-gid 'integer)))
-                  (t2
-                   (if (eq op 'copy)
-                       (tramp-compat-copy-file
-                        localname1 tmpfile ok-if-already-exists
-                        keep-date preserve-uid-gid)
+           ;; Create the temporary file.
+           (let ((tmpfile (tramp-compat-make-temp-file localname1)))
+             (condition-case err
+                 (progn
+                   (cond
+                    (t1
+                     (tramp-send-command
+                      v (format
+                         "%s %s %s" cmd
+                         (tramp-shell-quote-argument localname1)
+                         (tramp-shell-quote-argument tmpfile)))
+                     ;; We must change the ownership as remote user.
+                     (tramp-set-file-uid-gid
+                      (concat prefix tmpfile)
+                      (tramp-get-local-uid 'integer)
+                      (tramp-get-local-gid 'integer)))
+                    (t2
+                     (if (eq op 'copy)
+                         (tramp-compat-copy-file
+                          localname1 tmpfile ok-if-already-exists
+                          keep-date preserve-uid-gid)
+                       (tramp-run-real-handler
+                        'rename-file
+                        (list localname1 tmpfile ok-if-already-exists)))
+                     ;; We must change the ownership as local user.
+                     (tramp-set-file-uid-gid
+                      tmpfile
+                      (tramp-get-remote-uid v 'integer)
+                      (tramp-get-remote-gid v 'integer))))
+
+                   ;; Move the temporary file to its destination.
+                   (cond
+                    (t2
+                     (tramp-send-command
+                      v (format
+                         "mv -f %s %s"
+                         (tramp-shell-quote-argument tmpfile)
+                         (tramp-shell-quote-argument localname2))))
+                    (t1
                      (tramp-run-real-handler
                       'rename-file
-                      (list localname1 tmpfile ok-if-already-exists)))
-                   ;; We must change the ownership as local user.
-                   (tramp-set-file-uid-gid
-                    tmpfile
-                    (tramp-get-remote-uid v 'integer)
-                    (tramp-get-remote-gid v 'integer))))
-
-                 ;; Move the temporary file to its destination.
-                 (cond
-                  (t2
-                   (tramp-send-command
-                    v (format
-                       "mv -f %s %s"
-                       (tramp-shell-quote-argument tmpfile)
-                       (tramp-shell-quote-argument localname2))))
-                  (t1
-                   (tramp-run-real-handler
-                    'rename-file
-                    (list tmpfile localname2 ok-if-already-exists)))))
+                      (list tmpfile localname2 ok-if-already-exists)))))
 
-             ;; Error handling.
-             ((error quit)
-              (delete-file tmpfile)
-              (signal (car err) (cdr err)))))))))
+               ;; Error handling.
+               ((error quit)
+                (delete-file tmpfile)
+                (signal (car err) (cdr err))))))))))
 
       ;; Set the time and mode. Mask possible errors.
       ;; Won't be applied for 'rename.