emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 82d6416: Fix Bug#32304


From: Michael Albinus
Subject: [Emacs-diffs] master 82d6416: Fix Bug#32304
Date: Tue, 31 Jul 2018 00:50:42 -0400 (EDT)

branch: master
commit 82d6416a28dc5b4ab65b8081f035679bec4e3604
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    Fix Bug#32304
    
    * lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
    Handle special cas on Cygwin and MS-Windows.  (Bug#32304)
---
 lisp/net/tramp.el | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index d56b09a..1af2def 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -3567,16 +3567,20 @@ support symbolic links."
     ;; First, we must replace environment variables.
     (setq filename (tramp-replace-environment-variables filename))
     (with-parsed-tramp-file-name filename nil
-      ;; We do not want to replace environment variables, again.
+      ;; We do not want to replace environment variables, again.  "//"
+      ;; has a special meaning at the beginning of a file name on
+      ;; Cygwin and MS-Windows, we must remove it.
       (let (process-environment)
        ;; Ignore in LOCALNAME everything before "//" or "/~".
        (when (stringp localname)
          (if (string-match "//\\(/\\|~\\)" localname)
-             (setq filename (substitute-in-file-name localname))
+             (setq filename
+                    (replace-regexp-in-string
+                     "\\`/+" "/" (substitute-in-file-name localname)))
            (setq filename
                  (concat (file-remote-p filename)
-                         (tramp-run-real-handler
-                          'substitute-in-file-name (list localname)))))))
+                         (replace-regexp-in-string
+                           "\\`/+" "/" (substitute-in-file-name 
localname)))))))
       ;; "/m:h:~" does not work for completion.  We use "/m:h:~/".
       (if (and (stringp localname) (string-equal "~" localname))
          (concat filename "/")



reply via email to

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