On Sat, Mar 22, 2025 at 1:40 PM, Gerd Möllmann <gerd.moellmann@gmail.com> wrote:

Eli Zaretskii <eliz@gnu.org> writes:

From: Gerd Möllmann <gerd.moellmann@gmail.com> Cc: aaronjensen@gmail.com, alan@idiocy.org, 77039@debbugs.gnu.org Date: Sat, 22 Mar 2025 21:20:09 +0100

Eli Zaretskii <eliz@gnu.org> writes:

I'd also look for something doing things to mode-line-format first, maybe. But I also have no real idea what that is.

Given that the glyph rows in question have their mode_line_p flag reset, is that still a possibility?

Hm, probably not.

But could this make a difference?

dispnew.c:
5261 static int
5262 scrolling_window (struct window *w, int tab_line_p)

Why would scrolling_window be called at all if we never call update_window for buffers that are not shown in any window?

AFAIU, the scenario is that the sub-process is inserting text into a buffer that isn't shown in any window on display. In this case, redisplay is supposed to conclude that no window needs to be redrawn, and if so, update_window will not be called for any window. Right?

Right, and I agree. I'm trying to find a way to explain the difference that Aaron sees with and without his config. Otherwise I have no idea how to proceed with this.


It's global-display-line-numbers-mode.

Repro from emacs -Q:

(defun foo ()
(Interactive)
(global-display-line-numbers-mode)
(term "/usr/bin/yes")
(switch-to-buffer "*scratch*"))

Aaron