Subject: Re: bug#5447: closed by Eli Zaretskii <[email-masked]> (Re: bug#5447: 23.1.91; load-file fails for C:/the-file.el.gz)

From: Lennart Borgman <[email-masked]>
Date: Fri, 22 Jan 2010 19:03:42 +0100

On Fri, Jan 22, 2010 at 4:41 PM, Stefan Monnier
<[email-masked]> wrote:
>>> The interesting thing is that jka-compr-load is not even called if
>>> the file is not in the root directory of a drive.  I will try to
>>> look into that now.
>> This is actually trivial: a file that is not in C:/ is not considered
>> a remote file by Tramp handlers.  Case closed.
>> Like Lennart, I think that considering X:/ files on Windows to be
>> remote is a bad idea.  If it didn't have any serious consequences, I'd
>> just shrug.  But the recent bug reports indicate that it does have
>> very serious consequences, and is quite an annoyance.
>> Can we please get rid of that misfeature?
>
> I generally agree, but I'd like to see a concrete patch for it first.

Maybe the patch is not the problem. In the discussion around bug 5448
Michael wrote as an answer to my question:

On Wed, Jan 20, 2010 at 10:00 AM, Michael Albinus
<[email-masked]> wrote:
> Lennart Borgman <[email-masked]> writes:
>
>>>> However I wonder why those files at all are interesting for tramp. I
>>>> know little about tramp, but does not remote file names always start
>>>> with something like "/ssh:", "/ftp:", "/telnet:" etc?
>>>>
>>>> If so why look for file names starting with "c:/"?
>>>
>>> Some packages ( I don't remember which ones) do add the volume letter to
>>> file names, which haven't one. Tramp silently removes the volume letter
>>> then, and continues.
>>
>> But is not that a bug in those packages then? Does not trying to fix
>> it in Tramp introduce this new bug?
>
> In theory, you are right. But Tramp supports also GNU Emacs 21, 22, and
> XEmacs. This makes it impossible to fix all involved packages.
>
> Best regards, Michael.

I do not understand exactly what Michael means with "some packages ...
do add the volume letter". However he says there is some problem
there. I still think this is a good time to fix it.

Looking at it again I get more confused. Does not the same thing
happen on un*x like file systems? I mean does not all that stuff Eli
mentioned get loaded if you try to complete a file name in the root on
those systems too? (But perhaps you do not bump into the problem there
that often?)

At least it looks to me from the pattern that this must happen there too:

   ("\\`\\([a-zA-Z]:\\)?/[^/]*\\'" . tramp-completion-file-name-handler)

Perhaps the right thing to do is to only match "/ssh:", "/ftp:",
"/telnet:" etc and only bring in Tramp if those things matches?