[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59954: 29.0.50; flymake-reporting-backends documentation could use s
From: |
João Távora |
Subject: |
bug#59954: 29.0.50; flymake-reporting-backends documentation could use some work |
Date: |
Sun, 11 Dec 2022 11:28:38 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Stefan Kangas <stefankangas@gmail.com> writes:
> The docstring of `flymake-reporting-backends' says:
>
> Compute reporting Flymake backends in current buffer.
>From all the Flymake backends present in `flymake-diagnostic-functions',
the "reporting" ones are the ones that have reported back, i.e. called
their REPORT-FN arguments.
The distinction is (mildly) useful because the Lisp function that
implements them always returns, but that doesn't necessarily mean that
the backend has arranged for the REPORT-FN callback to be called. When
it is called, the backend enters the "reporting set".
> It is also not really explained in (info "(flymake) Troubleshooting").
> More precisely, I think it must be spelled out how it's different from
> `flymake-running-backends', and in which situations one would want to
> use one or the other.
A "running" backend is simply a backend which has been activated
> I understand that the "reporting" ones are basically the union of the
> running and disabled ones, right?
Not necessarily. A backend may be running and we haven't yet decided if
it will become a reporting backend or a disabled one.
> "reporting"? That is not immediately clear to me. Surely if they are
> disabled, they are *not* reporting? This could use some explanation.
Best explanation is in these notes and in the code. There is partially
a historical rationale, as I was trying to keep the visual interface of
the old Flymake reasonably intact, and AFAIR it had representation for
all these states.
But there is also a fair bit of overengineering here. It makes sense to
represent the states internally, but I've never ever found those
interactive functions useful. Maybe a bit in the early days of
debugging... IMO you could just trash them or redesign them into a
tabulated list or something.
João