Subject: bug#66041: 30.0.50; Should 'flymake-note-echo' inherit from 'compilation-info'?

From: Eli Zaretskii <[email-masked]>
Date: Mon, 25 Sep 2023 13:32:07 +0300

> From: João Távora <[email-masked]>
> Date: Mon, 25 Sep 2023 09:59:22 +0100
> Cc: [email-masked]
> 
> As usual, this turned out not to be true.  It seems that even if
> though the overlay dedicated to the  "warning" diagnostic has
> higher priority than the overlay dedicated to the "note/info"
> diagnostic the latter's 'before-string' property, which
> is:
> 
>   #("!" 0 1 (display (left-fringe exclamation-mark compilation-info)))
> 
> still trumps the former's, which is:
> 
>   #("!" 0 1 (display (left-fringe exclamation-mark compilation-warning)))
> 
> The priorities being used here are of the (PRIMARY . SECONDARY) form.
> Maybe that has something to do with it, but I tried just "normal"
> fixnum priorities and that didn't fix it.
> 
> Pinging Eli again.  Eli, here's the recipe again:
> 
>   emacs -Q -f flymake-mode
>   M-x erase-buffer RET y
>   h e l l o SPC
> 
> On the left fringe, we expect to see an orange exclamation mark
> (compilation-warning face). Instead, we see a green one
> (compilation-info face).
> 
> Using M-x describe-text-properties, one can see two overlays, one
> from 1 to 6, another from 6 to 7, with priorities (nil . 42) and
> (nil . 41), respectively.
> 
> The 'before-string' chosen for display on the fringe seems to have
> more to do with the overlay that appears later in the line, rather
> than with priorities.

Add some character after the SPC, even a newline, and the display will
be as you expect.

Do we care about the corner case of the last character before EOB?