Subject: Re: bug#25959: No stop button in gdb toolbar

From: Glenn Morris <[email-masked]>
Date: Fri, 03 Mar 2017 17:35:06 -0500

Glenn Morris wrote:

> emacs -Q -f gdb
> gdb -i=mi a.out RET
>
> Choose "Go" button in toolbar, program starts running, "Go" disappears.
> Now there should be a "Stop" button, but there isn't.
>
> gdb-show-stop-p returns nil because gdb-running-threads-count is 0.
>
> It works in 24.3, and fails in 24.4 through to current master.

Reverting 2e78e6a fixes this for me, so I've cc'd the author of that change.

commit 2e78e6a
Author: Jean-Philippe Gravel <[email-masked]>
Date:   Tue May 14 14:34:13 2013 -0400

    * progmodes/gdb-mi.el (gdb-running, gdb-starting): Remove
    signals for which replies are never received.

diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 2799eec..a6ad573 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -2376,8 +2376,7 @@ gdb-running
    (propertize gdb-inferior-status 'face font-lock-type-face))
   (when (not gdb-non-stop)
     (setq gud-running t))
-  (setq gdb-active-process t)
-  (gdb-emit-signal gdb-buf-publisher 'update-threads))
+  (setq gdb-active-process t))
 
 (defun gdb-starting (_output-field _result)
   ;; CLI commands don't emit ^running at the moment so use gdb-running too.
@@ -2385,11 +2384,7 @@ gdb-starting
   (gdb-force-mode-line-update
    (propertize gdb-inferior-status 'face font-lock-type-face))
   (setq gdb-active-process t)
-  (setq gud-running t)
-  ;; GDB doesn't seem to respond to -thread-info before first stop or
-  ;; thread exit (even in non-stop mode), so this is useless.
-  ;; Behavior may change in the future.
-  (gdb-emit-signal gdb-buf-publisher 'update-threads))
+  (setq gud-running t))
 
 ;; -break-insert -t didn't give a reason before gdb 6.9