]> git.eshelyaron.com Git - emacs.git/commitdiff
Make remote file locks more robust. (Bug#49621)
authorNaofumi Yasufuku <naofumi@yasufuku.dev>
Sun, 18 Jul 2021 14:57:53 +0000 (16:57 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 18 Jul 2021 14:57:53 +0000 (16:57 +0200)
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Make file
locks more robust.  (Bug#49621)

Copyright-paperwork-exempt: yes

lisp/net/tramp-sh.el

index e6bd42a83ae9837fac70ad7ca2d4d21087ce0c36..8b4c78fe65bab88031abb1bf9d148ec63673fa32 100644 (file)
@@ -3249,7 +3249,7 @@ implementation will be used."
                     (format "File %s exists; overwrite anyway? " filename)))))
       (tramp-error v 'file-already-exists filename))
 
-    (let (file-locked
+    (let ((file-locked (eq (file-locked-p lockname) t))
          (uid (or (tramp-compat-file-attribute-user-id
                    (file-attributes filename 'integer))
                   (tramp-get-remote-uid v 'integer)))
@@ -3260,7 +3260,7 @@ implementation will be used."
       ;; Lock file.
       (when (and (not (auto-save-file-name-p (file-name-nondirectory filename)))
                 (file-remote-p lockname)
-                (not (eq (file-locked-p lockname) t)))
+                (not file-locked))
        (setq file-locked t)
        ;; `lock-file' exists since Emacs 28.1.
        (tramp-compat-funcall 'lock-file lockname))
@@ -3481,7 +3481,7 @@ implementation will be used."
           (tramp-set-file-uid-gid filename uid gid))
 
        ;; Unlock file.
-       (when (and file-locked (eq (file-locked-p lockname) t))
+       (when file-locked
          ;; `unlock-file' exists since Emacs 28.1.
          (tramp-compat-funcall 'unlock-file lockname))