GNU bug report logs - #70711
30.0.50; Issue with flymake indicators

Previous Next

Package: emacs;

Reported by: Roman Rudakov <rrudakov <at> fastmail.com>

Date: Thu, 2 May 2024 08:07:02 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Roman Rudakov <rrudakov <at> fastmail.com>
To: Elijah G <eg642616 <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 70711 <at> debbugs.gnu.org
Subject: bug#70711: 30.0.50; Issue with flymake indicators
Date: Thu, 02 May 2024 22:43:07 +0200
Elijah G <eg642616 <at> gmail.com> writes:

> On Thu, May 2, 2024 at 5:04 AM Eli Zaretskii <eliz <at> gnu.org> wrote:
>>
>> > From: Roman Rudakov <rrudakov <at> fastmail.com>
>> > Date: Thu, 02 May 2024 10:06:15 +0200
>> >
>> > After the latest update of flymake I started experiencing an issue
>> > with indicators. The problem occurs if I try to disable indicators
>> > completely.
>> >
>> > Steps to reproduce from "emacs -q":
>> > 1. Evaluate the following forms:
>> >
>> > (setopt flymake-fringe-indicator-position nil
>> >         flymake-margin-indicator-position nil)
>> > (flymake-mode)
>> >
>> > 2. Type some invalid expression to trigger flymake.
>> >
>> > Expected result: No indicators.
>> >
>> > Actual result: Exclamation mark is shown right before the faulty
>> > expression (not even on fringe or margin).
>>
>> Elijah, could you please look into this?
>>
>> Thanks.
>
> Hi Eli, below you can find the attached patch that
> should fix this issue.
>
> Roman Can you eval this defun and tell
> if the bug is fixed?
>
> Thanks.
>
> ``` elisp
> (defun flymake--indicator-overlay-spec (indicator)
>   "Return INDICATOR as propertized string to use in error indicators."
>   (let* ((value (if (symbolp indicator)
>                     (symbol-value indicator)
>                   indicator))
>          (indicator-car (if (listp value)
>                             (car value)
>                           value))
>          (indicator-cdr (if (listp value)
>                             (cdr value))))
>     (cond
>      ((and (symbolp indicator-car)
>            flymake-fringe-indicator-position)
>       (propertize "!" 'display
>                   (cons flymake-fringe-indicator-position
>                         (if (listp value)
>                             value
>                           (list value)))))
>      ((and (stringp indicator-car)
>            flymake-margin-indicator-position)
>       (propertize "!"
>                   'display
>                   `((margin ,flymake-margin-indicator-position)
>                     ,(propertize
>                       indicator-car
>                       'face
>                       `(:inherit (,indicator-cdr
>                                   default)))))))))
> ````

Hello Elijah, I can confirm that the patch fixes the issue. Thank you.
-- 
Best regards, Roman




This bug report was last modified 1 year and 20 days ago.

Previous Next


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