[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)