Subject: Re: bug#64101: 29.0.91; Eglot inlay hints rendered out of order

From: Milan Jovanovic <[email-masked]>
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 <[email-masked]> wrote:
> 
> Stefan Monnier <[email-masked]> 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
> 
> 
> 
> 
> 
>