[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#70711: 30.0.50; Issue with flymake indicators
From: |
Elijah G |
Subject: |
bug#70711: 30.0.50; Issue with flymake indicators |
Date: |
Thu, 2 May 2024 11:03:14 -0600 |
On Thu, May 2, 2024 at 5:04 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> > From: Roman Rudakov <rrudakov@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)))))))))
````
0001-Fix-bug-70711.patch
Description: Binary data