Subject: bug#63084: closed (Re: bug#64186: Patch: Suppress deprecated '-gdb-set target-async' warning message in gdb-mi.el)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 06 Jul 2023 07:11:03 +0000

Your bug report

#64186: 30.0.50; gud: set breakpoint while program is running

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
64186: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64186
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#64186: Patch: Suppress deprecated '-gdb-set target-async' warning message in gdb-mi.el
From: Eli Zaretskii <[email-masked]>
To: Wang Diancheng <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Thu, 06 Jul 2023 10:10:07 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Wang Diancheng <[email-masked]>
> Date: Fri, 30 Jun 2023 15:08:18 +0800
> Cc: [email-masked], [email-masked]
> 
> Thanks for your comments.I think what exactly the value of
> `gdb-last-command’ is not essential for us.
> We just need to know  whether `gdb-last-command' is a CLI command in
> the background or a MI command,
> since here we have already got its "running" status.  We must check
> the target "async" feature after stopping
> the debuggee at the first time in function `gdb-stopped' if
> `gdb-last-command' is not a background CLI command or a MI command.
> 
> > > +  ;; Set `gdb-non-stop` when `gdb-last-command` is a CLI background
> > > +  ;; `run` command e.g. r& or MI command `-exec-run`
> > > +  (when (or (string-match "&\s*$" gdb-last-command)
> > > +            (string-match "-exec-run" gdb-last-command))
> > > +    (gdb-try-check-target-async-support))
> >
> > And I'm not sure I understand the idea behind this part:
> >
> > > @@ -2722,6 +2744,9 @@ gdb-stopped
> > >
> > >      ;; Print "(gdb)" to GUD console
> > >      (when gdb-first-done-or-error
> > > +      ;; If run target with CLI foreground command `run`, `target
> > > +      ;; async` can only be checked when target is stopped
> > > +      (gdb-try-check-target-async-support)
> > >        (setq gdb-filter-output (concat gdb-filter-output gdb-prompt-name)))
> >
> > Can you elaborate?
> 
> Thanks for your questions, according to my comments above, If the
> debuggee has been started by
> a non-background CLI command e.g. “run" or "attach" (no trailing "&")
> commands, we can only
> check the target "async" feature at the code stack.
> 
> >
> > Finally, please don't quote symbols `like this` in comments.  Our
> > conventions are to quote symbols 'like this' or `like this'.
> 
> I updated the patch, see the attachment.

Thanks, installed on the master branch, and closing the bug.

Note that, with this patch you have exhausted the amount of changes we
can accept from you without copyright assignment to the FSF.  Would
you like to start the copyright assignment paperwork at this time, so
that we could accept more changes from you in the future?  If you are
willing to start the assignment process, I will send you the form to
fill and the instructions to go with it.

Subject: 30.0.50; gud: set breakpoint while program is running
From: [email-masked]
To: [email-masked]
Date: Tue, 25 Apr 2023 21:18:52 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

When I try to set a breakpoint with
    "C-x C-a C-b" or (gud-break 1)
it doesn't seem to work.

But if I do
    (gud-call (format "break %s:%d" (buffer-file-name) (line-number-at-pos)))
it does work.

In GNU Emacs 30.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.17.8) of 2023-04-14 built on home
Repository revision: d664969544b13fe93a548c9908ce566f9b5cde9c
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Arch Linux

Configured using:
 'configure --with-native-compilation=yes --with-xinput2
 --with-sound=alsa --without-compress-install --with-x-toolkit=gtk3
 --without-xaw3d --without-gconf --prefix=/usr --sysconfdir=/etc
 --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man
 --with-gameuser=:games --with-modules --without-libotf
 --without-m17n-flt'

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: ELisp/l

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  hi-lock-mode: t
  smerge-mode: t
  auto-revert-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-mode: t
  display-line-numbers-mode: t
  pyvenv-mode: t
  pdf-occur-global-minor-mode: t
  global-hl-todo-mode: t
  hl-todo-mode: t
  repeat-mode: t
  savehist-mode: t
  fido-vertical-mode: t
  icomplete-vertical-mode: t
  icomplete-mode: t
  fido-mode: t
  window-numbering-mode: t
  recentf-mode: t
  save-place-mode: t
  shell-dirtrack-mode: t
  yas-minor-mode: t
  minibuffer-depth-indicate-mode: t
  global-subword-mode: t
  subword-mode: t
  override-global-mode: t
  desktop-save-mode: t
  delete-selection-mode: t
  server-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
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-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/tatrix/.emacs.d/elpa/cmake-mode-20221130.1357/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
~/.emacs.d/scel/el/sclang-util hides /usr/share/emacs/site-lisp/SuperCollider/sclang-util
~/.emacs.d/scel/el/sclang-interp hides /usr/share/emacs/site-lisp/SuperCollider/sclang-interp
~/.emacs.d/scel/el/sclang hides /usr/share/emacs/site-lisp/SuperCollider/sclang
~/.emacs.d/scel/el/sclang-menu hides /usr/share/emacs/site-lisp/SuperCollider/sclang-menu
~/.emacs.d/scel/el/sclang-document hides /usr/share/emacs/site-lisp/SuperCollider/sclang-document
~/.emacs.d/scel/el/sclang-dev hides /usr/share/emacs/site-lisp/SuperCollider/sclang-dev
~/.emacs.d/scel/el/sclang-browser hides /usr/share/emacs/site-lisp/SuperCollider/sclang-browser
~/.emacs.d/scel/el/sclang-widgets hides /usr/share/emacs/site-lisp/SuperCollider/sclang-widgets
~/.emacs.d/scel/el/sclang-help hides /usr/share/emacs/site-lisp/SuperCollider/sclang-help
~/.emacs.d/scel/el/sclang-server hides /usr/share/emacs/site-lisp/SuperCollider/sclang-server
~/.emacs.d/scel/el/sclang-mode hides /usr/share/emacs/site-lisp/SuperCollider/sclang-mode
~/.emacs.d/scel/el/sclang-minor-mode hides /usr/share/emacs/site-lisp/SuperCollider/sclang-minor-mode
~/.emacs.d/scel/el/sclang-keys hides /usr/share/emacs/site-lisp/SuperCollider/sclang-keys
~/.emacs.d/scel/el/sclang-language hides /usr/share/emacs/site-lisp/SuperCollider/sclang-language
/home/tatrix/.emacs.d/elpa/transient-20221202.1727/transient hides /usr/share/emacs/30.0.50/lisp/transient
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-bind-key hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-bind-key
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-lint hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-lint
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-core hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-core
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-jump hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-jump
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-ensure-system-package hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-ensure-system-package
/home/tatrix/.emacs.d/elpa/bind-key-2.4.1/bind-key hides /usr/share/emacs/30.0.50/lisp/use-package/bind-key
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-diminish hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-diminish
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package hides /usr/share/emacs/30.0.50/lisp/use-package/use-package
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-delight hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-delight
/home/tatrix/.emacs.d/elpa/use-package-2.4.4/use-package-ensure hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-ensure

Features:
(shadow sort emacsbug find-dired ielm macros ispell nodejs-repl
vc-annotate mail-extr arc-mode archive-mode graphviz-dot-mode goto-addr
tabify man semantic/symref/grep semantic/symref em-unix em-term term
disp-table ehelp em-script em-prompt em-pred em-ls em-hist em-glob
em-extpipe em-cmpl em-dirs em-basic em-banner em-alias em-smart esh-mode
esh-var net-utils prescient char-fold prescient-autoloads loaddefs-gen
lisp-mnt mm-archive network-stream url-cache url-http url-auth url-gw
nsm finder-inf cus-start vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs
vc-rcs log-view magit-extras magit-bookmark magit-submodule
magit-obsolete 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 git-commit
log-edit pcvs-util add-log magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor magit-mode magit-git
completion misc cl-print cmacexp magit-base which-func magit-section crm
compat-27 compat-26 info-look misearch multi-isearch shortdoc dabbrev
pulse smartparens-go go-mode find-file ffap orderless asm-mode
emacs-news-mode restclient mule-util make-mode dired-aux flymake-cc
citre citre-global citre-tags citre-ctags citre-readtags
citre-readtags-tables citre-backend-interface citre-ui-peek color
citre-ui-jump citre-common-tag citre-common-util c-ts-mode hi-lock
smerge-mode diff vc bug-reference autorevert smartparens-config
smartparens-javascript smartparens-org smartparens-text
smartparens-python smartparens-c smartparens display-line-numbers time
inspector edebug treeview tshell transient erc erc-backend erc-networks
erc-common erc-compat erc-loaddefs alert log4e notifications diary-lib
diary-loaddefs cal-iso vc-git vc-dispatcher org-indent oc-basic ol-eww
eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr
pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start
gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec
gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec
epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader
gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr
ol-docview doc-view ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi
face-remap org-agenda org-element org-persist xdg org-id avl-tree
org-refile xml gntp highlight-indentation company-capf company help-fns
radix-tree elpy elpy-rpc pyvenv elpy-shell elpy-profile elpy-django
elpy-refactor diff-mode python ido hideshow grep etags fileloop
pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist advice
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
pdf-misc pdf-loader pdf-tools pdf-view bookmark jka-compr pdf-cache
pdf-info tq pdf-util pdf-macs image-mode dired dired-loaddefs exif
sql-indent sql view hl-todo compat compat-macs kotlin-mode
kotlin-mode-lexer typescript-mode jai-mode derived cl let-alist repeat
gdb-mi bindat gud dumb-jump popup eglot external-completion jsonrpc xref
flymake-proc flymake thingatpt ert ewoc debug backtrace filenotify
compile text-property-search pcase savehist icomplete deadgrep project
spinner dash s transpose-frame window-numbering recentf tree-widget
saveplace tramp-sh tramp tramp-loaddefs trampver tramp-integration
tramp-compat shell parse-time iso8601 ls-lisp yasnippet-snippets
yasnippet mb-depth js c-ts-common treesit imenu cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
use-package-bind-key cap-words superword subword edmacro kmacro bind-key
easy-mmode eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io
esh-arg esh-module esh-groups esh-util files-x desktop frameset delsel
org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src
ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color ring
org-list org-footnote org-faces org-entities time-date noutline outline
ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold
org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar
cal-loaddefs org-version org-compat org-macs format-spec
use-package-core comp comp-cstr warnings cl-extra help-mode cus-edit pp
cus-load icons wid-edit server zig-mode-autoloads hl-todo-autoloads
cmake-mode-autoloads magit-autoloads consult-autoloads wgrep-autoloads
kakoune-autoloads corfu-autoloads loc-changes-autoloads
deadgrep-autoloads shader-mode-autoloads rustic-autoloads
rust-mode-autoloads orderless-autoloads undo-tree-autoloads f-autoloads
multiple-cursors-autoloads transpose-frame-autoloads inspector-autoloads
treeview-autoloads kotlin-mode-autoloads pdf-tools-autoloads
tablist-autoloads graphviz-dot-mode-autoloads magit-section-autoloads
yasnippet-snippets-autoloads async-autoloads nodejs-repl-autoloads
use-package-autoloads bind-key-autoloads spinner-autoloads
load-relative-autoloads ryo-modal-autoloads dumb-jump-autoloads
popup-autoloads dart-mode-autoloads smartparens-autoloads dash-autoloads
vertico-autoloads expand-region-autoloads flutter-autoloads
queue-autoloads restclient-autoloads test-simple-autoloads
xterm-color-autoloads avy-autoloads elpy-autoloads s-autoloads
yasnippet-autoloads pyvenv-autoloads highlight-indentation-autoloads
company-autoloads systemd-autoloads rx citre-autoloads alert-autoloads
log4e-autoloads gntp-autoloads markdown-mode-autoloads
git-commit-autoloads with-editor-autoloads transient-autoloads info
compat-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 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 1699631 306868)
 (symbols 48 65082 11)
 (strings 32 318425 37548)
 (string-bytes 1 10087048)
 (vectors 16 121578)
 (vector-slots 8 3145591 317141)
 (floats 8 1064 1366)
 (intervals 56 97458 3425)
 (buffers 984 239))