1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-26 23:20:29 -08:00

Eglot: don't confuse URLs and windows file paths

bug#59338

* lisp/progmodes/eglot.el (eglot--path-to-uri): Check for windows path
This commit is contained in:
dannyfreeman 2022-11-24 15:22:33 +00:00 committed by João Távora
parent fcd5fde090
commit d34fc7b7aa

View file

@ -1503,11 +1503,15 @@ If optional MARKER, return a marker instead"
(defun eglot--path-to-uri (path)
"URIfy PATH."
(let ((truepath (file-truename path)))
(if (url-type (url-generic-parse-url truepath))
(if (and (url-type (url-generic-parse-url path))
;; It might be MS Windows path which includes a drive
;; letter that looks like a URL scheme (bug#59338)
(not (and (eq system-type 'windows-nt)
(file-name-absolute-p truepath))))
;; Path is already a URI, so forward it to the LSP server
;; untouched. The server should be able to handle it, since
;; it provided this URI to clients in the first place.
truepath
path
(concat "file://"
;; Add a leading "/" for local MS Windows-style paths.
(if (and (eq system-type 'windows-nt)