Subject: bug#61924: closed (Re: bug#61924: 29.0.60; Eglot always pads inlay hints)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 03 Mar 2023 13:18:02 +0000

Your bug report

#61924: 29.0.60; Eglot always pads inlay hints

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61924: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61924
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#61924: 29.0.60; Eglot always pads inlay hints
From: João Távora <[email-masked]>
To: Johann Klähn <[email-masked]>, [email-masked]
Date: Fri, 3 Mar 2023 13:17:33 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi, Johann.  Thanks for the report.  Sorry I missed the report in emacs-devel.

I just pushed a fix to emacs-29.

João

Subject: 29.0.60; Eglot always pads inlay hints
From: Johann Klähn <[email-masked]>
To: [email-masked]
Date: Thu, 02 Mar 2023 23:45:10 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Open a new file.
M-x rust-ts-mode
M-x eglot  (with rust-analyzer)
M-x eglot-inlay-hints-mode
Insert:
  fn example(xyz: i32) {}
  fn main() {
      let x = 5;
      example(x);
  }

We see:
  let x : i32 = 5;
  example( xyz: x);

Instead of the expected:
  let x: i32 = 5;
  example(xyz: x);

The server sends
  - :paddingLeft = :json-false, :paddingRight = :json-false
  - :paddingLeft = :json-false, :paddingRight = t

So instead of ‘(and paddingLeft …)’, ‘eglot--update-hints-1’ should check for
‘:json-false’: ‘(and (not (eq paddingLeft :json-false)) …)’.
Cf. https://lists.gnu.org/archive/html/emacs-devel/2023-02/msg01001.html.

In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.36, cairo version 1.17.6) of 2023-02-26 built on toolbox
Repository revision: 68d753e3712fdd91fcdc306517ced3321d07a9d1
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12201008
System Description: Fedora Linux 37 (Workstation Edition)

Configured using:
 'configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg
 --with-tiff --with-xpm --with-gpm=no --with-modules --with-harfbuzz
 --with-cairo --with-json --with-native-compilation
 --enable-link-time-optimization --with-x-toolkit=gtk3
 'CFLAGS=-DMAIL_USE_LOCKF -O2 -fexceptions -g -grecord-gcc-switches
 -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
 -fstack-protector-strong -m64 -mtune=generic
 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-z,relro'

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

Important settings:
  value of $LC_MONETARY: de_DE.UTF-8
  value of $LC_NUMERIC: de_DE.UTF-8
  value of $LC_TIME: de_DE.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Rust

Minor modes in effect:
  eglot-inlay-hints-mode: t
  eglot--managed-mode: t
  flymake-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-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:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils mule-util display-line-numbers edebug derived misearch
multi-isearch vc bug-reference time-date eglot external-completion array
filenotify jsonrpc ert pp ewoc debug backtrace find-func xref
flymake-proc flymake thingatpt compile text-property-search comint
ansi-osc ansi-color ring url-util url-parse auth-source eieio eieio-core
password-cache json map url-vars project byte-opt imenu pcase
rust-ts-mode c-ts-common treesit vc-git diff-mode easy-mmode
vc-dispatcher cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq
cl-macs gv cl-extra help-mode bytecomp byte-compile 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 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 172016 17902)
 (symbols 48 13203 0)
 (strings 32 37784 3539)
 (string-bytes 1 1173067)
 (vectors 16 33203)
 (vector-slots 8 1254476 144465)
 (floats 8 69 32)
 (intervals 56 1140 0)
 (buffers 984 21))