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: João Távora <joaotavora <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Eli Zaretskii <eliz <at> gnu.org>, Krzysztof Klimonda <kklimonda <at> syntaxhighlighted.com>, 64101 <at> debbugs.gnu.org
Subject: bug#64101: 29.0.91; Eglot inlay hints rendered out of order
Date: Sun, 18 Jun 2023 15:22:25 +0100
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.