From: Eli Zaretskii Date: Sat, 20 Apr 2024 07:32:34 +0000 (+0300) Subject: ; * lisp/progmodes/eglot.el (eglot-path-to-uri): Add comment. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=91f431b7db429e60d933fd29971504a502ed8a90;p=emacs.git ; * lisp/progmodes/eglot.el (eglot-path-to-uri): Add comment. (cherry picked from commit 4d5fac4002412567b2b587c3cc4a1535ace0f2a8) --- diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index d023ea24134..61c388214fb 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -1090,13 +1090,15 @@ ACTION is an LSP object of either `CodeAction' or `Command' type." (defun eglot-path-to-uri (path) "Convert PATH, a file name, to LSP URI string and return it." + ;; Some LSP servers don't resolve symlinks, so we must do that + ;; for them by calling 'file-truename below'. (let ((truepath (file-truename path))) (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) + ;; PATH might be MS Windows file name 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 + ;; 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. path