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 #119 received at 77039 <at> debbugs.gnu.org (full text, mbox):

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

>> 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.

If it's something in Aaron's config, maybe he could bisect this. I'd
also look for something doing things to mode-line-format first, maybe.
But I also have no real idea what that is.




This bug report was last modified 114 days ago.

Previous Next


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