emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-26 fc5b8f1 3/3: Fix Bug#29149


From: Michael Albinus
Subject: [Emacs-diffs] emacs-26 fc5b8f1 3/3: Fix Bug#29149
Date: Mon, 20 Nov 2017 08:28:32 -0500 (EST)

branch: emacs-26
commit fc5b8f105505b4f9bb32c5d84d685ab0bc991802
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    Fix Bug#29149
    
    * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
    backup file names.
    (tramp-handle-find-backup-file-name):
    Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
---
 lisp/net/tramp.el | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index aadfcad..efd31b2 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1858,7 +1858,8 @@ letter into the file name.  This function removes it."
      (if (tramp-compat-file-name-quoted-p name)
         'tramp-compat-file-name-quote 'identity)
      (let ((name (tramp-compat-file-name-unquote name)))
-       (if (string-match "\\`[a-zA-Z]:/" name)
+       ;; A volume letter could occur also in encoded backup file names.
+       (if (string-match "\\(\\`[[:alpha:]]:/\\|/!drive_[[:alpha:]]\\)" name)
           (replace-match "/" nil t name)
         name)))))
 
@@ -3222,21 +3223,23 @@ User is always nil."
 (defun tramp-handle-find-backup-file-name (filename)
   "Like `find-backup-file-name' for Tramp files."
   (with-parsed-tramp-file-name filename nil
-    (let ((backup-directory-alist
-          (if tramp-backup-directory-alist
-              (mapcar
-               (lambda (x)
-                 (cons
-                  (car x)
-                  (if (and (stringp (cdr x))
-                           (file-name-absolute-p (cdr x))
-                           (not (tramp-tramp-file-p (cdr x))))
-                      (tramp-make-tramp-file-name
-                       method user domain host port (cdr x) hop)
-                    (cdr x))))
-               tramp-backup-directory-alist)
-            backup-directory-alist)))
-      (tramp-run-real-handler 'find-backup-file-name (list filename)))))
+    (mapcar
+     'tramp-drop-volume-letter
+     (let ((backup-directory-alist
+           (if tramp-backup-directory-alist
+               (mapcar
+                (lambda (x)
+                  (cons
+                   (car x)
+                   (if (and (stringp (cdr x))
+                            (file-name-absolute-p (cdr x))
+                            (not (tramp-tramp-file-p (cdr x))))
+                       (tramp-make-tramp-file-name
+                        method user domain host port (cdr x) hop)
+                     (cdr x))))
+                tramp-backup-directory-alist)
+             backup-directory-alist)))
+       (tramp-run-real-handler 'find-backup-file-name (list filename))))))
 
 (defun tramp-handle-insert-directory
   (filename switches &optional wildcard full-directory-p)



reply via email to

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