GNU bug report logs - #77039
31.0.50; Flickering on macOS

Previous Next

Package: emacs;

Reported by: Aaron Jensen <aaronjensen <at> gmail.com>

Date: Sat, 15 Mar 2025 16:43:01 UTC

Severity: normal

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #137 received at 77039 <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Aaron Jensen <aaronjensen <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, alan <at> idiocy.org, 77039 <at> debbugs.gnu.org
Subject: Re: bug#77039: 31.0.50; Flickering on macOS
Date: Sun, 23 Mar 2025 05:56:41 +0100
Aaron Jensen <aaronjensen <at> gmail.com> writes:

>  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

Thanks! I think I see now what's going on.

redisplay_internal has this (line numbers may differ):

xdisp.c:
17368       && (NILP (Vdisplay_line_numbers)
17369           || EQ (Vdisplay_line_numbers, Qvisual))

This means that certain redisplay optimizations that make redisplay
particularly "cheap" are not tried, depending on line number display.

Instead the more expensive redisplay methods are used that consider
whole windows or parts of them and so on. Or, in other words, line
number display can make redisplay less of a nop.

So, with line numbers, hidden buffer with process ->
wait_reading_process_output -> redisplay_internal -> update_window (or
similar) -> ... -> row_equal_p -> the equal macros 





This bug report was last modified 115 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.