Subject: bug#40529: 26.3; global-display-line-numbers-mode and flymake-show-diagnostics-buffer error

From: Eli Zaretskii <[email-masked]>
Date: Sun, 12 Apr 2020 17:42:11 +0300

> From: João Távora <[email-masked]>
> Date: Sun, 12 Apr 2020 15:13:35 +0100
> Cc: Aidan Beggs <[email-masked]>, [email-masked]
> 
>  I don't remember all the callers/users of tabulated-list-mode, so I
>  cannot be sure your patch is correct.  (Why only update the header?
>  the columns below the header need to be realigned as well, no?  See
>  tabulated-line-print-col, for example.)
> 
> I don't know what you are calling attention to in that function. Can 
> you be more specific?

AFAIR, the :align-to display spec needs to be recalculated when line
numbers are turned on or off.

> Furthermore I think it is a regression in itself to deliver an Emacs 
> 27 with this changed tabulated-list-mode bootstrapping behaviour.

Maybe so, but that code endured many months on the master branch and
then in the pretest, so we have some reason to believe it is correct.
The code was introduced to solve real problems in some users of
tabulated-list-mode (and we have quite a few of them in core alone).

>  However, if you are convinced it's TRT, I'm okay with doing that on
>  master.  On the release branch, please try to find a solution that is
>  not in tabulated-list-mode, but in Flymake.
> 
> I tried around a bit and couldn't come up with anything that I know is 
> safe, short of some very ugly vapourware hacks. Not saying that it 
> doesn't exist, but I started searching in tabulated-list-mode and 
> I do think that's the best place to fix it.

Like I said: making changes in tabulated-list-mode is too risky at
this point for the release branch.

I'm sure a simple solution for Flymake can be found.  E.g., what about
skipping the entire body of flymake--diagnostics-buffer-entries if
flymake--diagnostics-buffer-source is nil?