Subject: 30.0.50; Emacs -nw on msys2 is not clearing the terminal

From: Ergus <[email-masked]>
Date: Fri, 20 Jan 2023 17:40:17 +0100

Hi:

Very recently I have built emacs on MS-Win...10 (please don't ask
 why). I used msys2 and followed this guide which seems to be very clear
 and simple:

https://gist.github.com/nauhygon/f3b44f51b34e89bc54f8

After the build and installation, everything seemed
correctly. runemacs.exe works as expected... and in gui it works fine (a
bit slow to start... but maybe that is not so important now)

However, when I tried:

emacs -nw -Q

I found that emacs was not clearing the terminal on startup. So, emacs
is apparently starting correctly (status-line is visible and cursos),
but the previous text is still on the screen overlapping with emacs and
making it unusable. If opening a file, the file content is inserted
bellow the old text, truncating the head of the file, but the cursor can
move up to the top.

Moving the cursor down (off the screen) the screen scrolls the file
content, but the old text stays fix.

After C-x C-c, emacs exists "correctly" but in this case the terminal is
actually cleared (Like C-l usually do). Which somehow is not intended,
because the terminal is expected to be recovered to it's previous
status right?

All this was with the current master and the emacs-29 branch.

(I report this from a different emacs, so ignore the rest of the
auto-inserted information)

In GNU Emacs 30.0.50 (build 7, x86_64-pc-linux-gnu, GTK+ Version
 3.24.36, cairo version 1.17.6) of 2023-01-05 built on Ergus
Repository revision: 15fc7b3cde92e420f48dfe188251e6af4d832af5
Repository branch: master
System Description: Arch Linux

Configured using:
 'configure --prefix=/home/ergo/.local/ --with-mailutils --with-json
 --with-x-toolkit=gtk3 --with-xft --with-modules --with-cairo
 --with-harfbuzz --with-native-compilation
 '--program-transform-name=s/^ctags$/ctags.emacs/''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

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

Major mode: Lisp Interaction

Minor modes in effect:
  global-auto-revert-mode: t
  electric-pair-mode: t
  flyspell-mode: t
  company-mode: t
  flycheck-mode: t
  diff-hl-margin-mode: t
  gtags-mode: t
  repeat-mode: t
  xterm-mouse-mode: t
  xclip-mode: t
  override-global-mode: t
  winner-mode: t
  save-place-mode: t
  delete-selection-mode: t
  savehist-mode: t
  global-display-fill-column-indicator-mode: t
  display-fill-column-indicator-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  which-key-mode: t
  eldoc-mode: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/mnt/casa/gits/emacs_clones/gtags-mode/gtags-mode hides /home/ergo/.config/emacs/elpa/gtags-mode-1.0/gtags-mode
/home/ergo/.config/emacs/elpa/transient-20230107.1528/transient hides /home/ergo/.local/share/emacs/30.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822
mml mml-sec epa derived epg rfc6068 epg-config gnus-util
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 autorevert filenotify ffap
thingatpt url-parse auth-source password-cache url-vars elec-pair
flyspell-correct flyspell ispell company-semantic company-template
company-capf company flycheck ansi-color json map find-func dash pcase
diff-hl-margin diff-hl-dired dired-x dired dired-loaddefs diff-hl
log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode cape compat
comp comp-cstr warnings icons rx gtags-mode subr-x files-x xref project
term/tmux term/xterm xterm init repeat xt-mouse xclip edmacro kmacro
use-package-bind-key bind-key simple-16-theme winner ring saveplace
delsel savehist easy-mmode display-fill-column-indicator
display-line-numbers diminish which-key cl-extra help-mode
use-package-diminish use-package-core disp-table info
dumb-jump-autoloads highlight-indent-guides-autoloads
company-lua-autoloads systemd-autoloads yasnippet-snippets-autoloads
vundo-autoloads sudo-edit-autoloads cuda-mode-autoloads
nginx-mode-autoloads crdt-autoloads company-auctex-autoloads
groovy-mode-autoloads flycheck-rust-autoloads
string-inflection-autoloads company-c-headers-autoloads
protobuf-mode-autoloads lice-autoloads lorem-ipsum-autoloads
nasm-mode-autoloads web-mode-autoloads caml-autoloads popup-autoloads
magit-autoloads cmake-mode-autoloads company-nginx-autoloads
d-mode-autoloads i3wm-config-mode-autoloads languagetool-autoloads
request-autoloads ssh-config-mode-autoloads move-dup-autoloads
clang-format-autoloads esup-autoloads dired-sidebar-autoloads
gnuplot-autoloads phi-search-autoloads better-shell-autoloads
fancy-compilation-autoloads arduino-cli-mode-autoloads
flycheck-julia-autoloads which-key-autoloads evil-collection-autoloads
annalist-autoloads multiple-cursors-autoloads ibuffer-sidebar-autoloads
cape-autoloads git-commit-autoloads with-editor-autoloads
pkgbuild-mode-autoloads neotree-autoloads modern-cpp-font-lock-autoloads
company-reftex-autoloads dired-subtree-autoloads
dired-hacks-utils-autoloads git-modes-autoloads flymake-nasm-autoloads
arduino-mode-autoloads ede/auto eieio-base cl-seq eieio byte-opt
bytecomp byte-compile eieio-core cl-macs gv cl-loaddefs cl-lib
sphinx-mode-autoloads f-autoloads diff-hl-autoloads lua-mode-autoloads
gtags-mode-autoloads mutt-mode-autoloads xclip-autoloads
diminish-autoloads imenu-list-autoloads paradox-autoloads
avy-zap-autoloads nftables-mode-autoloads csv-mode-autoloads
ibuffer-vc-autoloads objed-autoloads iedit-autoloads
vterm-toggle-autoloads avy-autoloads git-timemachine-autoloads
transient-autoloads vterm-autoloads auctex-autoloads tex-site
slime-autoloads emamux-autoloads flymake-quickdef-autoloads
ibuffer-project-autoloads julia-mode-autoloads haskell-mode-autoloads
shell-command+-autoloads notmuch-autoloads e2ansi-autoloads
face-explorer-autoloads flycheck-autoloads tree-sitter-langs-autoloads
tree-sitter-autoloads tsc-autoloads pkg-info-autoloads flx-autoloads
opencl-mode-autoloads ptemplate-templates-autoloads ptemplate-autoloads
yasnippet-autoloads company-web-autoloads web-completion-data-autoloads
ibuffer-tramp-autoloads debbugs-autoloads cobol-mode-autoloads
company-autoloads macrostep-autoloads flyspell-correct-autoloads
epl-autoloads deadgrep-autoloads spinner-autoloads s-autoloads
evil-autoloads goto-chg-autoloads vdiff-autoloads hydra-autoloads
lv-autoloads magit-section-autoloads dash-autoloads compat-autoloads
early-init rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd 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 nadvice seq simple cl-generic indonesian philippine
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 abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 200641 35160)
 (symbols 48 15619 0)
 (strings 32 50917 7549)
 (string-bytes 1 1785762)
 (vectors 16 27252)
 (vector-slots 8 498229 36899)
 (floats 8 114 1017)
 (intervals 56 948 0)
 (buffers 984 12))