From: Dmitry Gutov Date: Sat, 6 May 2023 00:41:54 +0000 (+0300) Subject: Merge from origin/emacs-29 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0c6311386a12560c6578ffe50996c1f2c841ddfe;p=emacs.git Merge from origin/emacs-29 79a886ba368 (package-upgrade): Don't remove the package from 'package... c0ab4e9ca93 Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot b4e90070f96 Fix arguments of xml.c functions as displayed in Help buf... b1bda8228e5 More fixes for NetBSD/vax a2d4cd06f45 Improve VHDL mode highlighting 2f3a514b6db Clarify documentation wrt floating point division by zero... 94e984e6700 Make loaddefs-generate slightly more tolerant aba41d2c4bb ; Minor doc cleanups in go-ts-mode.el b42ccb2e5c1 ; Minor grammar fix in treesit manual. ab44c8a6f9d Fix order of rcirc-connect arguments 8eb6e33691d Fix rcirc messages printing in the wrong place 2901a3443c7 Prevent unnecessary modifications of 'package-vc-selected... eaad302bd6f Rename eglot-update to eglot-upgrade eaf25b9c6ae go-ts-mode: Use iota query only if supported (Bug#63086) cc090294d77 (rng-complete-tag): Add the (ignored) argument to the :co... 21ec6c1d5cc Update to Transient v0.3.7-219-g3ded15b 8d5aa8df4ad Fix inserting selection data into Mozilla programs 57562c3fd0a Recognize defstruct slot names in various eieio functions b93eb68cc30 Use 'calendar-buffer' instead of fixed string # Conflicts: # etc/EGLOT-NEWS --- 0c6311386a12560c6578ffe50996c1f2c841ddfe diff --cc etc/EGLOT-NEWS index 7a1aaffaea3,fd0d9a24568..37ee94f1730 --- a/etc/EGLOT-NEWS +++ b/etc/EGLOT-NEWS @@@ -12,93 -12,21 +12,103 @@@ This file is about changes in Eglot, th (Language Server Protocol) distributed with GNU Emacs since Emacs version 29.1 and with GNU ELPA since 2018. -Note: references to Eglot issues are presented as "github#nnnn". -This refers to https://github.com/joaotavora/eglot/issues/. -That is, to look up issue github#1234, go to +Note: references to some Eglot issues are presented as "github#nnnn". +This refers to https://github.com/joaotavora/eglot/issues/. That is, +to look up issue github#1234, go to https://github.com/joaotavora/eglot/issues/1234. + +* Changes in Eglot 1.15 (29/4/2023) + +** Fix LSP "languageId" detection + +Many servers today support multiple languages, meaning they can handle +more than one file type in the same connection. This relies on the +client supplying a ':languageId' string. Previously, Eglot calculated +this string based on an imperfect heuristic and was often wrong. See +github#1206. + +** Fix problems with missing signature documentation (bug#62687) + +** Reworked 'eglot-imenu' + +Eglot's Imenu backend (used for M-x imenu among other extensions), has +been reworked. Most newer servers respond to +'textDocument/documentSymbol' with a vector of 'DocumentSymbol', not +'SymbolInformation'. It's not worth it trying to make the two formats +resemble each other. This also lays groundwork supporting a +forthcoming "breadcrumb" feature of bug#58431. + +** New command 'eglot-update' + +This allows users to easily update to the latest version of Eglot. + + +* Changes in Eglot 1.14 (3/4/2023) + +** Faster, more responsive completion + +Eglot takes advantage of LSP's "isIncomplete" flag in responses to +completion requests to drive new completion-caching mechanism for the +duration of each completion session. Once a full set of completions +is obtained for a given position, the server needn't be contacted in +many scenarios, resulting in significantly less communication +overhead. This works with the popular Company package and stock +completion-at-point interfaces. + +A variable 'eglot-cache-session-completions', t by default, controls +this. The mechanism was tested with ccls, jdtls, pylsp, golsp and +clangd. Notably, the C/C++ language server Clangd version 15 has a +bug in its "isIcomplete" flag (it is fixed in later versions). If you +run into problems, disable this mechanism like so: + +(add-hook 'c-common-mode-hook + (lambda () (setq-local eglot-cache-session-completions nil))) + +** At-point documentation less obtrusive in echo area + +Eglot takes advantage of new features of ElDoc to separate short +documentation strings from large ones, sending the former to be shown in +the ElDoc's echo area and the latter to be shown in other outlets, +such as the *eldoc* buffer obtainable with 'C-h .'. + +** New variable 'eglot-prefer-plaintext' + +Customize this to t to opt-in to docstrings in plain text instead of +Markdown. + +(bug#61373) + +** Progress indicators inhabit the mode-line by default + +To switch to the echo area, customize 'eglot-report-progress' to +'messages'. To switch off progress reporting completely, set to nil. + +** Snippet support is easier to enable + +The user needn't manually activate 'yas-minor-mode' or +'yas-global-mode'. If YASnippet is installed and the server supports +snippets, it is used automatically, unless the symbol 'yasnippet' has +been added to 'eglot-stay-out-of'. + + +* Changes in Eglot 1.13 (15/03/2023) + +** ELPA installations on Emacs 26.3 are supported again. + + + * Changes in Eglot 1.12.29 (Eglot bundled with Emacs 29.1) + + ** Eglot can upgrade itself to the latest version. + + The new command 'eglot-upgrade-eglot' works around behaviour in the + existing 'package-install' command and the new 'package-upgrade' + command which would prevent the user from easily grabbing the latest + version as usual. + + +* Changes in Eglot 1.12 (13/03/2023) + ** LSP inlay hints are now supported. Inlay hints are small text annotations not unlike diagnostics, but designed to help readability instead of indicating problems. For