GNU bug report logs - #64859
30.0.50; Eglot: codeAction.resolveSupport capability is incorrect

Previous Next

Package: emacs;

Reported by: Matan Peled <chaosite <at> gmail.com>

Date: Tue, 25 Jul 2023 16:40:03 UTC

Severity: normal

Found in version 30.0.50

To reply to this bug, email your comments to 64859 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#64859; Package emacs. (Tue, 25 Jul 2023 16:40:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Matan Peled <chaosite <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 25 Jul 2023 16:40:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Matan Peled <chaosite <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; Eglot: codeAction.resolveSupport capability is incorrect
Date: Tue, 25 Jul 2023 18:01:12 +0300
I'm using a recent snapshot build.

When trying to use Eglot on Rust code (with the rust-analyzer LSP
server), it crashes complaining about the InitializationOptions message
being misformed.

This is due to this commit:
https://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/progmodes/eglot.el?id=3b7273f4ae3623962c5d5fdc922a62af1136f448

resolveSupport is supposed to be a list, not a boolean, see here:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeAction

I'm not sure what properties Eglot supports here, so I'm not certain on
what the correction should be.


In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.16.0) of 2023-07-11, unofficial emacs-snapshot
 build: http://emacs.secretsauce.net built on fatty
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux trixie/sid

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-native-compilation
 --with-pop=yes --with-tree-sitter
 --enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/30.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/30.0.50/site-lisp:/usr/share/emacs/site-lisp
 --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-native-compilation --with-pop=yes --with-tree-sitter
 --enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/30.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/30.0.50/site-lisp:/usr/share/emacs/site-lisp
 --with-x=yes --with-imagemagick --with-x-toolkit=gtk3
 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -ffile-prefix-map=/build/emacs-snapshot-C4ag1V/emacs-snapshot-20230711+emacs-28.2-166010-g04710bd01b2=.
-fstack-protector-strong
 -Wformat -Werror=format-security -Wall -fno-omit-frame-pointer'
 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP
SOUND THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM
XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_IL
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: iso-latin-1-unix

Major mode: Fundamental

Minor modes in effect:
  recentf-mode: t
  all-the-icons-ivy-rich-mode: t
  ivy-rich-mode: t
  counsel-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  server-mode: t
  amx-mode: t
  ivy-mode: t
  nyan-mode: t
  company-quickhelp-mode: t
  company-quickhelp-local-mode: t
  global-company-mode: t
  company-mode: t
  windmove-mode: t
  projectile-mode: t
  global-whitespace-mode: t
  whitespace-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  override-global-mode: t
  tooltip-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/mip/.emacs.d/lisp/capnp-mode hides
/home/mip/.emacs.d/elpa/capnp-mode-20210707.2310/capnp-mode
/home/mip/.emacs.d/elpa/transient-20230723.1411/transient hides
/usr/share/emacs/30.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug rust-ts-mode c-ts-common misearch
multi-isearch recentf tree-widget magit-bookmark bookmark eglot
external-completion jsonrpc ert ewoc debug backtrace tramp
tramp-loaddefs trampver tramp-integration tramp-compat
all-the-icons-ivy-rich all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons ivy-rich counsel swiper timezone texinfo
texinfo-loaddefs toolbar-x reporter desktop frameset context plain-tex
auctex-latexmk latex latex-flymake flymake-proc flymake tex-ispell
tex-style tex dbus xml texmathp elpy-rpc elpy-shell elpy-profile
elpy-django elpy-refactor hideshow cus-edit pp cus-start cus-load
wid-edit python treesit pyvenv eshell esh-cmd esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-groups esh-util forge-list forge-commands
forge-semi forge-bitbucket forge-gogs gogs forge-gitea gtea forge-gitlab
glab forge-github forge-notify forge-revnote forge-pullreq forge-issue
forge-topic yaml parse-time iso8601 bug-reference forge-post forge-repo
forge forge-core forge-db closql emacsql-sqlite-common emacsql
emacsql-compiler eieio-base buck ediff ediff-merg ediff-mult ediff-wind
ediff-diff ediff-help ediff-init ediff-util files-x vc-git vc-dispatcher
skeleton ibuf-macs find-dired loaddefs-gen radix-tree tar-mode arc-mode
archive-mode mm-archive mule-util network-stream url-cache
display-line-numbers facemenu two-column rainbow-mode keys user-macros
quick-yes display zenburn-theme settings rustic-flycheck
rustic-spellcheck rustic-expand rustic-lsp rustic-playground
rustic-rustfix rustic-racer rustic-babel rustic-rustfmt org-element
org-persist org-id org-refile avl-tree org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list
org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
cal-menu calendar cal-loaddefs org-version org-compat org-macs
rustic-comint rustic-clippy rustic-doc xdg f f-shortdoc rustic-popup
rustic-cargo rustic-compile spinner xterm-color markdown-mode
edit-indirect noutline outline rustic-interaction rustic rust-utils
rust-mode ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth
let-alist gnutls magit-submodule magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos magit-apply magit-wip magit-log which-func imenu
magit-diff smerge-mode diff git-commit log-edit message sendmail
yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config
gnus-util time-date mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils
gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert
autorevert filenotify magit-margin magit-transient magit-process
with-editor shell pcomplete server magit-mode transient magit-git
magit-base magit-section format-spec cursor-sensor crm compat powerline
powerline-separators powerline-themes amx s ivy delsel ivy-faces
ivy-overlay colir color go-mode ffap nyan-mode flycheck find-func dash
company-quickhelp pos-tip diminish company-oddmuse company-keywords
company-etags etags fileloop generator xref company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb company find-file-in-project advice ido windmove diff-mode
find-lisp dired dired-loaddefs find-file projectile project lisp-mnt
grep compile text-property-search comint ansi-osc ansi-color ring
ibuf-ext ibuffer ibuffer-loaddefs thingatpt latex-pretty-symbols edmacro
kmacro jka-compr whitespace custom-functions auto-compile comp comp-cstr
warnings icons rx cl-extra help-mode use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode use-package-core finder-inf 0xc-autoloads
all-the-icons-ivy-rich-autoloads all-the-icons-autoloads amx-autoloads
auctex-latexmk-autoloads auctex-autoloads tex-site
auto-compile-autoloads capnp-mode-autoloads clang-format+-autoloads
clang-format-autoloads company-coq-autoloads company-math-autoloads
company-quickhelp-autoloads counsel-projectile-autoloads
counsel-autoloads diminish-autoloads elpy-autoloads company-autoloads
find-file-in-project-autoloads forge-autoloads closql-autoloads
emacsql-autoloads ghub-autoloads go-mode-autoloads
google-c-style-autoloads highlight-indentation-autoloads
ivy-rich-autoloads kotlin-mode-autoloads latex-pretty-symbols-autoloads
lua-mode-autoloads magit-autoloads pcase git-commit-autoloads
magit-section-autoloads math-symbol-lists-autoloads nyan-mode-autoloads
pos-tip-autoloads powerline-autoloads projectile-autoloads
proof-general-autoloads proof-site proof-autoloads pyvenv-autoloads
rainbow-mode-autoloads rustic-autoloads markdown-mode-autoloads
f-autoloads rust-mode-autoloads spinner-autoloads
string-inflection-autoloads swiper-autoloads ivy-autoloads
tide-autoloads flycheck-autoloads pkg-info-autoloads epl-autoloads
s-autoloads dash-autoloads transient-autoloads treepy-autoloads
vue-mode-autoloads edit-indirect-autoloads ssass-mode-autoloads
vue-html-mode-autoloads mmm-mode-autoloads web-mode-autoloads
with-editor-autoloads info compat-autoloads xterm-color-autoloads
yaml-autoloads yasnippet-autoloads zenburn-theme-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache
json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs
cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 2662645 491256) (symbols 48 59074 1) (strings 32 456025 48066)
 (string-bytes 1 23676859) (vectors 16 147324) (vector-slots 8 2278070 131926)
 (floats 8 1528 9678) (intervals 56 200832 371) (buffers 984 40))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64859; Package emacs. (Fri, 02 Feb 2024 07:35:02 GMT) Full text and rfc822 format available.

Message #8 received at 64859 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Matan Peled <chaosite <at> gmail.com>
Cc: João Távora <joaotavora <at> gmail.com>,
 64859 <at> debbugs.gnu.org
Subject: Re: bug#64859: 30.0.50; Eglot: codeAction.resolveSupport capability
 is incorrect
Date: Thu, 1 Feb 2024 23:33:49 -0800
Matan Peled <chaosite <at> gmail.com> writes:

> I'm using a recent snapshot build.
>
> When trying to use Eglot on Rust code (with the rust-analyzer LSP
> server), it crashes complaining about the InitializationOptions message
> being misformed.
>
> This is due to this commit:
> https://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/progmodes/eglot.el?id=3b7273f4ae3623962c5d5fdc922a62af1136f448
>
> resolveSupport is supposed to be a list, not a boolean, see here:
> https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeAction
>
> I'm not sure what properties Eglot supports here, so I'm not certain on
> what the correction should be.

João, any comments here?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64859; Package emacs. (Fri, 02 Feb 2024 09:15:02 GMT) Full text and rfc822 format available.

Message #11 received at 64859 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: Matan Peled <chaosite <at> gmail.com>, 64859 <at> debbugs.gnu.org
Subject: Re: bug#64859: 30.0.50; Eglot: codeAction.resolveSupport capability
 is incorrect
Date: Fri, 2 Feb 2024 09:13:40 +0000
On Fri, Feb 2, 2024 at 7:33 AM Stefan Kangas <stefankangas <at> gmail.com> wrote:
>
> Matan Peled <chaosite <at> gmail.com> writes:
>
> > I'm using a recent snapshot build.
> >
> > When trying to use Eglot on Rust code (with the rust-analyzer LSP
> > server), it crashes complaining about the InitializationOptions message
> > being misformed.
> >
> > This is due to this commit:
> > https://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/progmodes/eglot.el?id=3b7273f4ae3623962c5d5fdc922a62af1136f448
> >
> > resolveSupport is supposed to be a list, not a boolean, see here:
> > https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeAction
> >
> > I'm not sure what properties Eglot supports here, so I'm not certain on
> > what the correction should be.
>
> João, any comments here?

I think this was already fixed by:

commit bc1e7b9b8e681346e407c4dc32272a0bf4decd68
Author: João Távora <joaotavora <at> gmail.com>
Date:   Wed Jul 12 10:11:34 2023 +0100

    Eglot: fix advertisement of textDocument.codeAction.resolveSupport

    See https://github.com/joaotavora/eglot/issues/1255.

    * lisp/progmodes/eglot.el (eglot-client-capabilities):
    Use correct format for textDocument.codeAction.resolveSupport.

I just didn't mention the debbugs id.

João




This bug report was last modified 1 year and 136 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.