From: João Távora Date: Fri, 22 Dec 2023 23:53:23 +0000 (-0600) Subject: Eglot: declare eglot-lsp-context bound to non-nil X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9cb85e950dac77b59d48d320c7d40689d019aad4;p=emacs.git Eglot: declare eglot-lsp-context bound to non-nil Otherwise, it'll be really hard to use it in the recommended fashion: (defun my/project-find-function (dir) (when-let ((match (and (bound-and-true-p eglot-lsp-context) (locate-dominating-file dir "some-marker-file")))) `(transient . ,match))) (add-hook 'project-find-functions #'my/project-find-function) because 'bound-and-true-p' will never return t even when the hook is called from eglot--current-project. Github-reference: https://github.com/joaotavora/eglot/discussions/1336 Github-reference: https://github.com/joaotavora/eglot/discussions/1337 * lisp/progmodes/eglot.el (eglot-lsp-context): Declare normally. --- diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index c849ff5c37e..fc26e8fabbf 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -1289,9 +1289,8 @@ be guessed." guess))) (list managed-modes (eglot--current-project) class contact language-ids))) -(defvar eglot-lsp-context) -(put 'eglot-lsp-context 'variable-documentation - "Dynamically non-nil when searching for projects in LSP context.") +(defvar eglot-lsp-context nil + "Dynamically non-nil when searching for projects in LSP context.") (defun eglot--current-project () "Return a project object for Eglot's LSP purposes.