Subject: bug#63855: 29.0.91; Exiting gdb's python interactive mode within gud-mode exits gdb as well

From: Jonas Bülow <[email-masked]>
Date: Fri, 2 Jun 2023 18:00:33 +0200

--text follows this line--

0. (start with emacs -Q)
1. M-x gdb <RET>
2. Run gdb (like this): gdb -i=mi <RET>
3. Enter python interactive mode with: pi <RET>
4. Try to exit gdb's python interactive mode with Ctrl-D

Expected: get back to gdb prompt

Actual: gdb exits with "Debugger finished"

Doing the same directly from a terminal gives the expected behavior.

---

In GNU Emacs 29.0.91 (build 2, x86_64-pc-linux-gnu, GTK+ Version
 3.24.33, cairo version 1.16.0) of 2023-05-24 built on i9
Repository revision: 212884f2bfed7f00e58aad183edd20ecc2a23e71
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.2 LTS

Configured using:
 'configure --prefix=/big/local --with-tree-sitter
 --with-native-compilation --without-mailutils --with-x
 --disable-gtk-deprecation-warnings --with-imagemagick
 --build=x86_64-linux-gnu --program-suffix=-snapshot --with-modules=yes
 --with-x=yes --with-x-toolkit=gtk3 --with-xwidgets=yes 'CFLAGS=-O2
 -fstack-protector-strong -Wformat -Werror=format-security'
 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
 build_alias=x86_64-linux-gnu TREE_SITTER_CFLAGS=-I/big/local/include
 'TREE_SITTER_LIBS=-L/big/local/lib -ltree-sitter'
 PKG_CONFIG_PATH=/opt/intel/oneapi/vtune/2023.1.0/include/pkgconfig/lib64:'

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

Important settings:
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Debugger

Minor modes in effect:
  treemacs-icons-dired-mode: t
  treemacs-git-commit-diff-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-hide-gitignored-files-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: always
  gdb-many-windows: t
  projectile-mode: t
  which-key-mode: t
  global-tree-sitter-mode: t
  global-tempel-abbrev-mode: t
  tempel-abbrev-mode: t
  global-corfu-mode: t
  corfu-mode: t
  savehist-mode: t
  vertico-prescient-mode: t
  prescient-persist-mode: t
  vertico-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-ligature-mode: t
  ligature-mode: t
  global-diff-hl-mode: t
  whole-line-or-region-global-mode: t
  whole-line-or-region-local-mode: t
  windmove-mode: t
  recentf-mode: t
  all-the-icons-completion-mode: t
  override-global-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/jonasbu/.emacs.new/elpa/magit-3.3.0.50snapshot0.20230523.143111/magit-base
hides /home/jonasbu/.emacs.new/elpa/magit-section-3.3.0.50snapshot0.20230523.143111/magit-base
/home/jonasbu/.emacs.new/elpa/magit-3.3.0.50snapshot0.20230523.143111/magit-sparse-checkout
hides /home/jonasbu/.emacs.new/elpa/magit-section-3.3.0.50snapshot0.20230523.143111/magit-sparse-checkout
/home/jonasbu/.emacs.new/elpa/transient-0.4.0.0.20230519.194018/transient
hides /big/local/share/emacs/29.0.91/lisp/transient

Features:
(shadow sort mail-extr emacsbug message yank-media puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils ace-window avy
cus-start cus-load mule-util smerge-mode view python sh-script smie
executable vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
diff-hl-dired all-the-icons-dired treemacs-icons-dired
treemacs-projectile treemacs-tab-bar treemacs-git-commit-diff-mode
treemacs treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-faces treemacs-icons
treemacs-scope treemacs-themes treemacs-core-utils pfuture inline
hl-line treemacs-logging treemacs-customization treemacs-macros s
help-fns radix-tree vc-annotate rect files-x gdb-mi bindat gud pulse
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs time-date eglot external-completion array jsonrpc ert
debug backtrace find-func flymake-proc flymake imenu consult-xref
embark-consult consult bookmark etags fileloop generator xref misearch
multi-isearch vc-git c-ts-mode c-ts-common treesit vertico-directory
cursor-sensor projectile project lisp-mnt grep ibuf-ext ibuffer
ibuffer-loaddefs embark ffap which-key rainbow-delimiters
tree-sitter-langs tree-sitter-langs-build pp tree-sitter-hl tree-sitter
tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get compile
text-property-search comint ansi-osc ring dired-aux dired dired-loaddefs
tsc-obsolete tempel-collection tempel corfu orderless savehist
vertico-prescient prescient char-fold vertico compat undo-tree diff
queue emojify comp comp-cstr warnings apropos tar-mode arc-mode
archive-mode ht dash ligature flyspell ispell ediff ediff-merg
ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
diff-hl log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode
diminish whole-line-or-region advice browse-kill-ring ansi-color
markdown-mode rx color thingatpt noutline outline windmove recentf
tree-widget wid-edit all-the-icons-completion all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons use-package
use-package-ensure use-package-delight use-package-diminish finder-inf
editorconfig-autoloads tree-sitter-langs-autoloads
browse-kill-ring-autoloads treemacs-magit-autoloads
magit-todos-autoloads magit-autoloads corfu-autoloads
vertico-posframe-autoloads async-autoloads emojify-autoloads
helpful-autoloads rainbow-delimiters-autoloads tree-sitter-autoloads
all-the-icons-dired-autoloads undo-tree-autoloads queue-autoloads
projection-multi-autoloads whole-line-or-region-autoloads
treemacs-icons-dired-autoloads buttercup-autoloads
dired-single-autoloads compile-multi-autoloads magit-section-autoloads
marginalia-autoloads elisp-refs-autoloads pcre2el-autoloads
diff-hl-autoloads projection-autoloads vertico-prescient-autoloads
vertico-autoloads hl-todo-autoloads prescient-autoloads
all-the-icons-completion-autoloads all-the-icons-autoloads
ligature-autoloads tsc-autoloads cape-autoloads diminish-autoloads
f-autoloads treemacs-tab-bar-autoloads consult-eglot-autoloads
expand-region-autoloads git-commit-autoloads transient-autoloads
treemacs-projectile-autoloads projectile-autoloads with-editor-autoloads
which-key-autoloads tempel-collection-autoloads tempel-autoloads
orderless-autoloads markdown-mode-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads compat-autoloads move-text-autoloads
treemacs-persp-autoloads persp-mode-autoloads treemacs-autoloads
cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads
lv-autoloads ace-window-autoloads avy-autoloads s-autoloads info
dash-autoloads pfuture-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 eieio eieio-core password-cache json map byte-opt url-vars
edmacro kmacro use-package-bind-key bind-key easy-mmode cl-seq
use-package-core bytecomp byte-compile delsel autorevert filenotify
display-line-numbers modus-vivendi-theme modus-themes cl-macs pcase
subr-x cl-extra help-mode icons cl-loaddefs cl-lib gv chemacs 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 xwidget-internal 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 878813 78595)
 (symbols 48 41843 0)
 (strings 32 202716 12300)
 (string-bytes 1 6076716)
 (vectors 16 83536)
 (vector-slots 8 2306607 172022)
 (floats 8 1786 876)
 (intervals 56 20449 1431)
 (buffers 984 58))