]> git.eshelyaron.com Git - emacs.git/commitdiff
Tramp cache fixes
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 28 Mar 2020 11:59:03 +0000 (12:59 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 28 Mar 2020 11:59:03 +0000 (12:59 +0100)
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Flush the
cache after the file has been written.

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

index bfeaebac2cd4c1de85e81447780eacb97d70631c..4512179eb142d2ebe2ee7d3fc6a2e3f6459b1ed8 100644 (file)
@@ -629,9 +629,6 @@ But handle the case, if the \"test\" command is not available."
                     (format "File %s exists; overwrite anyway? " filename)))))
       (tramp-error v 'file-already-exists filename))
 
-    ;; We must also flush the cache of the directory, because
-    ;; `file-attributes' reads the values from there.
-    (tramp-flush-file-properties v localname)
     (let* ((curbuf (current-buffer))
           (tmpfile (tramp-compat-make-temp-file filename)))
       (when (and append (file-exists-p filename))
@@ -648,6 +645,10 @@ But handle the case, if the \"test\" command is not available."
              (tramp-error v 'file-error "Cannot write: `%s'" filename))
          (delete-file tmpfile)))
 
+      ;; We must also flush the cache of the directory, because
+      ;; `file-attributes' reads the values from there.
+      (tramp-flush-file-properties v localname)
+
       (unless (equal curbuf (current-buffer))
        (tramp-error
         v 'file-error
index effac333dadd40c9bf05a643e7db78f443131d02..100ddfaa681cf10f4cceae46a0c84db78f015f9b 100644 (file)
@@ -1557,9 +1557,6 @@ errors for shares like \"C$/\", which are common in Microsoft Windows."
                     (format "File %s exists; overwrite anyway? " filename)))))
       (tramp-error v 'file-already-exists filename))
 
-    ;; We must also flush the cache of the directory, because
-    ;; `file-attributes' reads the values from there.
-    (tramp-flush-file-properties v localname)
     (let ((curbuf (current-buffer))
          (tmpfile (tramp-compat-make-temp-file filename)))
       (when (and append (file-exists-p filename))
@@ -1579,6 +1576,10 @@ errors for shares like \"C$/\", which are common in Microsoft Windows."
              (tramp-error v 'file-error "Cannot write `%s'" filename))
          (delete-file tmpfile)))
 
+      ;; We must also flush the cache of the directory, because
+      ;; `file-attributes' reads the values from there.
+      (tramp-flush-file-properties v localname)
+
       (unless (equal curbuf (current-buffer))
        (tramp-error
         v 'file-error