Subject: bug#57434: 28.1.91; Terminal Emacs Mac OS flickering.

From: Dmitrii Kuragin <[email-masked]>
Date: Fri, 26 Aug 2022 09:54:19 -0700

I can reproduce the bug in the following configuration:
- Large monitor or small font in terminal.
- Having 2 vertically splitted windows.
- Enable `display-line-number-mode` on the left pane.
- Terminal flickers on scrooling on some lines.

The main point is it flickers only when the right pane has a little
content. If the file contents fits into the whole right window, the it
doesn't flicker, and it flickers only on the lines which do not have
content to display. For example,
--------------------
|        |         |
|        |         |
|        |~        |
| *|*    |~        |
|        |~        |
|        |~        |
--------------------

"~" is the part where there is no content. When I use the left window
and scroll on the lines where the right windown doesn't have content,
the screen flickers. But, as long, as I open some large file in the
right pange it works as expected w/o any flickering.

I tried to find a possible way to put some content in there, but seems
like emacs supports frigne only on GUI.

I tried different terminal emulators (iTerm2, Alacritty), in additional
to w/ and w/o tmux.

The same configuration but with ssh to linux work perfectly well. So, I
assume, it excudes terminal emulator issues.

I also tried different emacs distributions:
 - https://emacsformacosx.com/
 - https://github.com/jimeh/emacs-builds
 - Some with come homebrew as well.

Do you have any possible ideas where I can look into it?

In GNU Emacs 28.1.91 (build 1, x86_64-apple-darwin20.6.0, NS appkit-2202.70
Version 11.6.8 (Build 20G730))
 of 2022-08-22 built on Mac-1661214538296.local
Repository revision: bfa5bcf79b5069126308664c1701f86d253df337
Repository branch: HEAD
System Description:  macOS 12.5.1

Configured using:
 'configure --with-ns --with-modules
 '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp:/usr/local/share/emacs/site-lisp'
 --with-xwidgets --with-native-compilation
 'CFLAGS=-I/usr/local/opt/gcc/include -I/usr/local/opt/libgccjit/include
 -O2' 'LDFLAGS=-L/usr/local/opt/gcc/lib/gcc/12
 -L/usr/local/opt/gcc/lib/gcc/12/gcc/x86_64-apple-darwin20/12
 -L/usr/local/opt/libgccjit/lib/gcc/12 -I/usr/local/opt/gcc/include
 -I/usr/local/opt/libgccjit/include -Wl,-headerpad_max_install_names''

Configured features:
ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM
XWIDGETS ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: C++//l

Minor modes in effect:
  display-line-numbers-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny rfc822 mml mml-sec epa
derived epg rfc6068 epg-config gnus-util rmail rmail-loaddefs
auth-source eieio eieio-core eieio-loaddefs password-cache json map
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils comp comp-cstr warnings subr-x
rx cl-seq cl-macs cl-extra help-mode seq display-line-numbers cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs dired-aux cl-loaddefs cl-lib dired dired-loaddefs term/xterm
xterm byte-opt gv bytecomp byte-compile cconv iso-transl tooltip eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads
xwidget-internal dbusbind kqueue cocoa ns lcms2 multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 133662 7351)
 (symbols 48 9789 0)
 (strings 32 28712 1544)
 (string-bytes 1 1059484)
 (vectors 16 17862)
 (vector-slots 8 336624 10901)
 (floats 8 32 218)
 (intervals 56 2454 0)
 (buffers 992 16))