GNU bug report logs -
#77039
31.0.50; Flickering on macOS
Previous Next
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
Aaron Jensen <aaronjensen <at> gmail.com> writes:
> Not Lisp, but:
>
> emacs -Q
> M-x shell
> yes<enter>
> C-x b<enter>
>
> This will open a shell in a background buffer that is rapidly printing to STDOUT (and displaying in
> the shell buffer) then switch to the scratch buffer. If you add logging to the matrix comparisons you
> will see a rapid uptick. I don't know if this has to do with the external process connection with
> Emacs.
>
> To be clear, I don't know if this is actually an issue given that the matrix comparison is likely
> preventing the redisplay.
>
> Aaron
When I configure with --enable-checking=glyphs, and run, in emacs -Q,
GUI version the function
(defun foo ()
(interactive)
(trace-redisplay 1)
(term "/usr/bin/yes")
(switch-to-buffer "*scratch*"))
I see traces of the form
redisplay_preserve_echo_area (12)
redisplay_internal 0
redisplay_preserve_echo_area (12)
redisplay_internal 0
...
The 12 means the call is from wait_reading_process_output, which reads
the output from /usr/bin/yes in this case.
So, that explains where the redisplay comes from. Since there are no
further redisplay actions shown in the trace output, I think that
redisplay is more or less a nop in these cases. Didn't try without the
fix that I pushed.
Why wait_reading_process_output is called with argument do_display ==
true I have no idea.
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.