bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#14030: 24.3; expand-file-name expands remote file name on Windows in


From: Michael Albinus
Subject: bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
Date: Sat, 23 Mar 2013 13:13:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

> This is due to some change in Tramp, specifically in
> tramp-sh-file-name-handler: it returned "/ssh:address@hidden:/" in 24.2,
> but "/ssh:address@hidden:c:/" in 24.3.  Michael, could you please take a
> look?

This is competely strange. In `tramp-sh-handle-expand-file-name', there
is the following code at the very end:

      (let ((directory-sep-char ?/)
            (default-directory (tramp-compat-temporary-file-directory)))
        (tramp-make-tramp-file-name
         method user host
         (tramp-drop-volume-letter
          (tramp-run-real-handler
           'expand-file-name (list localname)))
         hop)))))

In Emacs 24.3, `tramp-drop-volume-letter' is not executed:

| | | | 5 -> tramp-run-real-handler: operation=expand-file-name args=("/root/")
| | | | 5 <- tramp-run-real-handler: "c:/root/"
| | | | 5 -> tramp-make-tramp-file-name: method="plink" user=nil host="ford" 
localname="c:/root/" hop=nil
| | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:c:/root/"

When I use Emacs 24.3.50, the latest snapshot, that function is
executed:

| | | | 5 -> (tramp-run-real-handler expand-file-name ("/root/"))
| | | | 5 <- tramp-run-real-handler: "c:/root/"
| | | | 5 -> (tramp-drop-volume-letter "c:/root/")
| | | | 5 <- tramp-drop-volume-letter: "/root/"
| | | | 5 -> (tramp-make-tramp-file-name "plink" nil "ford" "/root/" nil)
| | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:/root/"

I have no idea, what prevents `tramp-drop-volume-letter' to be called.
If you want to reproduce my test, I have setup the traces like this:

(require 'tramp)
(require 'trace)
(dolist (elt (all-completions "tramp-" obarray 'functionp))
  (trace-function-background (intern elt)))

(expand-file-name "/plink:ford:")

Best regards, Michael.





reply via email to

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