Subject: Re: bug#59338: 29.0.50; Commit 1a2d603bb3 breaks Eglot on Windows

From: Eli Zaretskii <[email-masked]>
Date: Fri, 18 Nov 2022 16:35:05 +0200

> From: Danny Freeman <[email-masked]>
> Cc: Augusto Stoffel <[email-masked]>, [email-masked],
>  [email-masked], [email-masked]
> Date: Fri, 18 Nov 2022 08:39:13 -0500
> 
> The current eglot--path-to-uri implementation should produce a valid
> file:// url unless what it receives is already a URL.
> 
> So it could receive something like:
> 
> /home/user/project/whatever.c
> d:/what/home/is/on/windows/whatever.c
> 
> Both of which should be transformed into file:// URLs
> OR what it receives may already be a URL like
> 
> zipfile:home/user/project.zip::/path/in/zip.c
> 
> If it receives a URL, we want to pass it along, and not transform it
> into a file:// URL.
> 
> If it is a full windows path, we DO want to turn that into a file url.
> 
> So how do we detect that is is a windows path, and not a URL already?

You test that system-type is windows-nt AND that the
file-name-absolute-p returns non-nil for the argument.