Subject: Re: bug#25183: 26.0.50; expanding quoted file name on w32

From: [email-masked]
Date: Mon, 12 Dec 2016 20:33:54 -0500

Glenn Morris <[email-masked]> writes:

> Noam Postavsky wrote:
>
>>>>> (expand-file-name "/:~/path/./file")
>>>>> => "/:~/path/file"
>>
>>>>> (expand-file-name "/:~/path/./file")
>>>>> => "/:c:/Users/lb01177/AppData/Roaming/path/file"
>>
>>>
>>> (file-name-absolute-p "/:~/path/./file")
>>> => t
>>
>> I think all these cases are user error, `(emacs) Quoted File Names' says
>>
>>     You can "quote" an absolute file name [...] add '/:' at the beginning
>>
>> But you cannot quote a relative file name, which looks like what
>> you're trying to do here. It might better to throw an error than
>> return nonsense (though possibly not worth the trouble).
>
> But "~/blah" is an absolute file name. ?

Yes, but in "/:~/blah", the /: should prevent expanding "~", so then it
seems not to refer to an absolute file name, but rather a file named
"blah" in a directory named literally "~".  But if it's not an absolute
file name, then /: doesn't make sense.  So it's a kind of paradox.  This
is not w32 specific (although the actual implementation happens to
resolve the "paradox" in a different way on w32).