Robustify Eglot for "transient" projects
When Eglot needs to synthesize a "transient" project for default-directory sometimes the value of that variable is set to an unexpanded value, sometimes not. This can cause simple invocations like. Emacs -Q ~/path/to-some-python-file.py -f eglot to fail, because eglot--current-server will be looking for a project in the registry called (transient . "~/path") where in reality it is stored there as (transient . "/home/someuser/path") The fix is to always expand default-directory in eglot--current-project. * lisp/progmodes/eglot.el (eglot--current-project): Use expand-file-name.
This commit is contained in:
parent
ea5fd375bb
commit
0bfba49ca7
1 changed files with 2 additions and 1 deletions
|
@ -1079,7 +1079,8 @@ variable (which see) can query the value `eglot-lsp-context' to
|
|||
decide whether a given directory is a project containing a
|
||||
suitable root directory for a given LSP server's purposes."
|
||||
(let ((eglot-lsp-context t))
|
||||
(or (project-current) `(transient . ,default-directory))))
|
||||
(or (project-current)
|
||||
`(transient . ,(expand-file-name default-directory)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun eglot (managed-major-mode project class contact language-id
|
||||
|
|
Loading…
Add table
Reference in a new issue