On Sun, Apr 12, 2020 at 2:43 PM Eli Zaretskii wrote: > > From: João Távora > > Date: Sun, 12 Apr 2020 13:22:34 +0100 > > Cc: Aidan Beggs , 40529@debbugs.gnu.org > > > > But after some analysis, I think it is tabulated-list-mode, or rather > > its recent adaptation to display-line-numbers-mode, which is in the > > wrong here. It used to be that using a mode derived from > > tabulated-list-mode didn't immediately force a request for refreshing > its > > rows. After display-line-numbers-mode came along, that ceased to be > > true in some situations. > > > > Reading the special code in tabulated-list-mode concerned with line > > numbers, the latter seem to affect only the header line, not the > > buffer's contents. So this seems to be the correct fix: > > 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? Regarding your question (why only the header?), well that seems to be the only place where a line-number _isn't_ printed, so it needs the additional indentation. I think that also explains why you already _only_ update only the header in pre-redisplay-functions and window-scroll-functions. Have a look at tabulated-list-watch-line-number-width and tabulated-list-window-scroll-function. All they do is update the header, not the contents. I'm just extending that criteria to the turn-on/off of d-l-n-m. Furthermore I think it is a regression in itself to deliver an Emacs 27 with this changed tabulated-list-mode bootstrapping behaviour. 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. João