GNU bug report logs - #64101
29.0.91; Eglot inlay hints rendered out of order

Previous Next

Package: emacs;

Reported by: Krzysztof Klimonda <kklimonda <at> syntaxhighlighted.com>

Date: Fri, 16 Jun 2023 05:57:04 UTC

Severity: normal

Found in version 29.0.91

Full log


View this message in rfc822 format

From: Milan Jovanovic <milanj <at> gmail.com>
To: João Távora <joaotavora <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, Krzysztof Klimonda <kklimonda <at> syntaxhighlighted.com>, Stefan Monnier <monnier <at> iro.umontreal.ca>, 64101 <at> debbugs.gnu.org
Subject: bug#64101: 29.0.91; Eglot inlay hints rendered out of order
Date: Mon, 19 Jun 2023 18:17:06 +0200
João,  is there a reason why (in Eglot) hint parts can’t be merged and only one overlay created ?
I fix it to create one overlay and I haven’t noticed any issues (I use it only with the rust-analyzer though).
Don’t know if this is stupid question,  don’t know much about LSP protocol (or Emacs internals).

Milan

> On 18. 6. 2023., at 16:22, João Távora <joaotavora <at> gmail.com> wrote:
> 
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> 
>>>> The `priority` property is a source of problem in itself
>>> How so?  What problem are you talking about.
>> 
>> Most overlays don't have a `priority` property, so any overlay with
>> a `priority` property set to a number greater than 0 will have priority
>> over basically everything else, which is rarely what you want.
>> 
>> Often, the resulting problems take a while to appear and when they do,
>> it's in relation with some other package elsewhere, so that package's
>> authors end up working around the problem by adding another `priority`
>> property on their overlays, thus spreading the problem further.
> 
> Right, that makes sense.  It's more or less what I feared too, though
> this is all speculative at this point.  Anyway, can you explain this?
> Take this scratch buffer
> 
>   ;; This buffer is for text that is not saved, and for Lisp evaluation.
>   ;; To create a file, visit it with C-x C-f and enter text in its buffer.
> 
>   (progn
>     (mapc #'delete-overlay (overlays-in (point-min) (point-max)))
>     (let ((a (make-overlay 10 20))
>           (b (make-overlay 10 20)))
>       (overlay-put a 'after-string (propertize "aaaa" 'face 'highlight))
>       (overlay-put b 'after-string (propertize "bbbb" 'face 'speedbar-highlight-face))
>       ;; (overlay-put a 'priority 1)
>       ;; (overlay-put b 'priority 2)
>       (overlay-put a 'priority `(nil . 1))
>       (overlay-put b 'priority `(nil . 2))
>       ))
> 
> This displays AAAABBBB eventually, but I would expect it to show
> BBBBAAAA, which is what I get if I use "primary" priorities.
> 
> João
> 
> 
> 
> 
> 
> 





This bug report was last modified 2 years and 61 days ago.

Previous Next


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