From c9e752bbb965c85e050daf4fe919c7f583697311 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 23 Apr 2024 21:28:09 +0300 Subject: [PATCH] ; * lisp/progmodes/eglot.el (eglot-path-to-uri): Improve commentary. (cherry picked from commit d8d4fd8c6dbe11542432fccdc31701da9f686460) --- lisp/progmodes/eglot.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index c35c4071297..04dc70c4a1b 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -1091,8 +1091,11 @@ ACTION is an LSP object of either `CodeAction' or `Command' type." (cl-defun eglot-path-to-uri (path &key truenamep) "Convert PATH, a file name, to LSP URI string and return it. TRUENAMEP indicated PATH is already a truename." - ;; LSP assumes little of filesystems, servers being potentially - ;; physically detached from it. Make sure we hand them true names. + ;; LSP servers should not be expected to access the filesystem, and + ;; therefore are generally oblivious that some filenames are + ;; different, but point to the same file, like a symlink and its + ;; target. Make sure we hand the server the true name of a file by + ;; calling file-truename. (let ((truepath (if truenamep path (file-truename path)))) (if (and (url-type (url-generic-parse-url path)) ;; PATH might be MS Windows file name which includes a -- 2.39.5