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


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Aaron Jensen <aaronjensen <at> gmail.com>
Cc: gerd.moellmann <at> gmail.com, alan <at> idiocy.org, 77039 <at> debbugs.gnu.org
Subject: bug#77039: 31.0.50; Flickering on macOS
Date: Sat, 22 Mar 2025 19:09:33 +0200
> From: Aaron Jensen <aaronjensen <at> gmail.com>
> Date: Sat, 22 Mar 2025 09:47:47 -0700
> Cc: gerd.moellmann <at> gmail.com, alan <at> idiocy.org, 77039 <at> debbugs.gnu.org
> 
> On Sat, Mar 22, 2025 at 9:41 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> 
>  From: Aaron Jensen <aaronjensen <at> gmail.com> 
>  Date: Sat, 22 Mar 2025 09:17:08 -0700 
>  Cc: gerd.moellmann <at> gmail.com, alan <at> idiocy.org, 77039 <at> debbugs.gnu.org
> 
>  In my config, I definitely see matrix comparisons when hidden buffers are updated. It's
>  row_equal_p and update_text_area that are called in rapid succession even when the shell
>  buffer is not visible. I tried disabling both my tab bar and my header line (I don't use a mode line)
>  and I still saw it updating. 
> 
>  Here's an example log output, this repeats as quickly as yes emits "y" 
> 
>  dispnew.c:4775 
>  dispnew.c:1295 
>  dispnew.c:1295 
>  dispnew.c:1295 
>  dispnew.c:1295 
>  dispnew.c:1295 
>  dispnew.c:1295 
>  dispnew.c:1295 
>  dispnew.c:4775
> 
>  Is the mode_line_p flag of the glyph row set when these comparisons are made?
> 
> I see this:
> 
> update_text_area updated_row->mode_line_p: 0
> update_text_area updated_row->mode_line_p: 1
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> row_equal_p a->mode_line_p: 0 b->mode_line_p: 0
> … Many more of these in each iteration …
> 
> So it's set in one update_text_area, but not another.

I'm afraid you will need to come up with a reproduction recipe for
this, so that we could investigate what causes this.  Maybe it's a bug
or maybe I'm missing something.




This bug report was last modified 113 days ago.

Previous Next


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