Subject: Re: bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly

From: Eli Zaretskii <[email-masked]>
Date: Sat, 23 Mar 2013 22:23:19 +0200

> From: Michael Albinus <[email-masked]>
> Cc: Vida Gábor <[email-masked]>,
>   [email-masked]
> Date: Sat, 23 Mar 2013 13:13:37 +0100
> 
> 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.

Since tramp-drop-volume-letter is not a function, it's a defalias, so
maybe it somehow doesn't get registered in the trace?

Or maybe it somehow takes the 'identity route?