summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el
diff options
context:
space:
mode:
authorJoão Távora <joaotavora@gmail.com>2022-09-26 11:43:39 +0100
committerJoão Távora <joaotavora@gmail.com>2022-09-26 11:44:04 +0100
commit5b902b5cbb1de5f3852856d194deaf996c2623cc (patch)
treeb683dcb332b39bdfd23b7b8b17004edecff99036 /test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el
parentf06a837f291004e4d25804d78dd8ae17eba2fe14 (diff)
downloademacs-5b902b5cbb1de5f3852856d194deaf996c2623cc.tar.gz
emacs-5b902b5cbb1de5f3852856d194deaf996c2623cc.tar.bz2
emacs-5b902b5cbb1de5f3852856d194deaf996c2623cc.zip
Add support for "single server, multiple modes"
Previously, if an entry such as: ((c++-mode c-mode) . ("clangd)") were found in eglot-server-programs, it meant that opening a .cpp file and a .c file in the same project and enabling eglot for both would lead to two clangd instances. Now only one instance is created to handle all buffers of those major modes, as long as they are in the same project. This change accomplishes this with minimal changes and NO modification to the already complicated syntax of eglot-server-programs. Naturally, this means that a subtle backward-incompatibility was introduced. If, instead of "clangd", someone is using some kind "c++-or-c-but-not-both-at-once" server, this commit now breaks that person's configuration. After analysing the entries of this variable, an educated guess was made that this situation is rare. If it's not rare, then some change to the syntax of eglot-server-programs will have to ensue. * eglot.el (eglot-server-programs): Update docstring. (eglot-lsp-server): Replace major-mode -> major-modes. (eglot--lookup-mode): Rework. (eglot--guess-contact): Rework. (eglot--connect): Reword first parameter. (eglot-reconnect): Use eglot--major-modes. (eglot--read-server): Rework. (eglot--ensure-list): New helper. (eglot-current-server): Rework. (eglot-handle-request workspace/configuration): Use first of managed major modes. * NEWS.md: Mention change. GitHub-reference: per https://github.com/joaotavora/eglot/issues/681
Diffstat (limited to 'test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el')
0 files changed, 0 insertions, 0 deletions