Subject: bug#75841: Flymake: rework, simplify and address problems of recent change (bug#75841)

From: João Távora <[email-masked]>
Date: Sun, 20 Apr 2025 23:32:04 +0100

Hello,

The functionality of this change is very welcome, however its
implementation broke Flymake for any Emacs < 29.1 due to use of bleeding
edge constructs.  It also introduces a number of undocumented API entry
points.

I've addressed these and other problems ahead of releasing version 1.4.0
of the Flymake :core package, which would have published those
implementation details and make them harder to roll back.

A possibly contentious point is the removal of a hook (undocumented in
the manual) which was run when a specific function was called with
specific arguments.  A regular user is oblivious to these details and
the hook isn't needed to implement the change.

If the hook is indeed needed think a case for this hook must be made
separately.  I didn't find this in the bug thread.

That said, I tested all the new "jump and reveal" functionality and
verified it is working correctly (from the fringe, the margin, the
source buffer).  I've documented in the manual and in the NEWS file.

Please see the commit log for more details.

   commit 3001d50d9ae6e41b3f1d8e576b13a85198f60da9
   Author: João Távora <[email-masked]>
   Date:   Sun Apr 20 13:29:26 2025 +0100

   Flymake: rework, simplify and address problems of recent change (bug#75841)

Thanks,
João.