Subject: bug#68235: 29.1.90; Switching tabs stops following process output in selected window

From: Dan McCarthy <[email-masked]>
Date: Wed, 3 Jan 2024 15:48:21 -0500

With two tabs open, start a compilation or some other long-running
job. Move point to the bottom with M->. Switch to the other tab, then
switch back. Point will now be fixed at wherever it was when you first
switched.

If the compilation window isn't selected, however, switching tabs does
what I expected: point continues to be at the bottom, following the
output as it appears.

In GNU Emacs 29.1.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 2.24.33, cairo version 1.16.0) of 2023-10-23 built on solstice
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --with-dbus'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND
SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM
GTK2 ZLIB

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

Major mode: Shell

Minor modes in effect:
  bug-reference-mode: t
  desktop-save-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  server-mode: t
  shell-dirtrack-mode: t
  hexl-follow-ascii: t
  projectile-mode: t
  comint-fontify-input-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-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:
~/emacs-lisp/ecf-mode/dcm-general hides ~/emacs-lisp/dcm-general
~/emacs-lisp/c-eldoc hides
/home/dan/.emacs.d/elpa/c-eldoc-20201004.2347/c-eldoc
~/emacs-lisp/connection hides
/home/dan/.emacs.d/elpa/connection-20191111.446/connection
~/emacs-lisp/link hides /home/dan/.emacs.d/elpa/link-20191111.446/link
/home/dan/.emacs.d/elpa/transient-20231019.1421/transient hides
/home/dan/build/emacs-29.1.90/lisp/transient
~/emacs-lisp/css-mode hides
/home/dan/build/emacs-29.1.90/lisp/textmodes/css-mode
/home/dan/.emacs.d/elpa/csharp-mode-20221126.2005/csharp-mode hides
/home/dan/build/emacs-29.1.90/lisp/progmodes/csharp-mode
/home/dan/.emacs.d/elpa/dictionary-20201001.1727/dictionary hides
/home/dan/build/emacs-29.1.90/lisp/net/dictionary
~/emacs-lisp/greek hides /home/dan/build/emacs-29.1.90/lisp/language/greek

Features:
(shadow sort mail-extr emacsbug vc-svn pcmpl-gnu sgml-mode facemenu dom
dabbrev cus-edit cus-start mm-archive gnutls network-stream url-cache
url-http url-auth url-gw nsm term/xterm xterm vc git-rebase mule-diag
python emacs-news-mode pcmpl-linux ffap magit-patch display-line-numbers
rect tabify man tramp-cmds doc-view jka-compr js c-ts-common find-dired
rfc2104 noutline outline view cl-print make-mode image-mode exif
cal-move shortdoc help-fns radix-tree pp wid-edit descr-text pcmpl-unix
conf-mode misearch multi-isearch ruler-mode hl-line vc-hg vc-bzr
goto-addr etags fileloop generator xref magit-extras magit-svn
face-remap sh-script smie treesit executable tramp-cache time-stamp
tramp-sh dired-aux term disp-table ehelp mule-util diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs bug-reference desktop
frameset cua-base cus-load clang-format+ clang-format acme-search quack
cmuscheme scheme advice clone-log-mode scc-mode 608-unicode ecf-mode
dcm-general tar-mode arc-mode archive-mode notifications dbus xml
dictionary link connection magit-submodule magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
magit-diff smerge-mode diff git-commit log-edit message sendmail
yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa epg rfc6068
epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils
gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert
autorevert filenotify magit-margin magit-transient magit-process
with-editor server magit-mode derived transient cl-extra edmacro kmacro
help-mode magit-git magit-base which-func vc-git diff-mode easy-mmode
vc-dispatcher ido magit-section cursor-sensor crm dash compat tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat shell
pcomplete parse-time iso8601 time-date format-spec vanc-init bindat
vanc-mode hexl php-mode mode-local find-func imenu speedbar ezimage
dframe php-face php rx php-project projectile lisp-mnt grep ibuf-ext
ibuffer ibuffer-loaddefs flymake-proc flymake project compile
text-property-search comint ansi-osc ansi-color ring warnings icons
thingatpt css-mode cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs cl finder-inf archive-rpm-autoloads
c-eldoc-autoloads clang-format-autoloads indent-tools-autoloads
hydra-autoloads lv-autoloads magit-svn-autoloads magit-autoloads pcase
magit-section-autoloads git-commit-autoloads dash-autoloads
php-mode-autoloads projectile-autoloads pydoc-autoloads s-autoloads
tramp-term-autoloads transient-autoloads with-editor-autoloads info
compat-autoloads yafolding-autoloads yaml-mode-autoloads
yaml-pro-autoloads yaml-autoloads package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib 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 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process emacs)

Memory information:
((conses 16 2656374 298496)
 (symbols 48 52033 4)
 (strings 32 391623 32488)
 (string-bytes 1 14644301)
 (vectors 16 100900)
 (vector-slots 8 2407891 129759)
 (floats 8 246 538)
 (intervals 56 300877 27375)
 (buffers 976 170))