Subject: Re: bug#62041: 30.0.50; RET bound to `comint-send-input` in C-mode buffer

From: Eli Zaretskii <[email-masked]>
Date: Thu, 09 Mar 2023 21:38:02 +0200

> Cc: [email-masked], [email-masked]
> Date: Thu, 09 Mar 2023 20:14:42 +0200
> From: Eli Zaretskii <[email-masked]>
> 
> > From: Stefan Monnier <[email-masked]>
> > Cc: [email-masked],  [email-masked]
> > Date: Thu, 09 Mar 2023 12:59:59 -0500
> > 
> > > However, the fix is incomplete AFAICT: the "pseudo-toolbar" which
> > > gdb-mi.el should show on TTY frames was lost.
> > 
> > Hmm... I must say I'm stumped: I have no idea where this pseudo-tool-bar
> > comes from in `emacs-29`.  Any hint?
> 
> I think it comes from gud-tool-bar-map.  gdb-get-buffer-create has
> this:
> 
>             (setq-local tool-bar-map gud-tool-bar-map)

No, that's wrong.  Those buttons come from here:

(easy-mmode-defmap gud-minor-mode-map
  (append
     `(([menu-bar debug] . ("Gud" . ,gud-menu-map)))
     ;; Get tool bar like functionality from the menu bar on a text only
     ;; terminal.
   (unless window-system
     `(([menu-bar down]
	. (,(propertize "down" 'face 'font-lock-doc-face) . gud-down))
       ([menu-bar up]
	. (,(propertize "up" 'face 'font-lock-doc-face) . gud-up))
       ([menu-bar finish]
	. (,(propertize "finish" 'face 'font-lock-doc-face) . gud-finish))
       ([menu-bar step]
	. (,(propertize "step" 'face 'font-lock-doc-face) . gud-step))
       ([menu-bar next]
	. (,(propertize "next" 'face 'font-lock-doc-face) . gud-next))
       ([menu-bar until] menu-item
	,(propertize "until" 'face 'font-lock-doc-face) gud-until
		  :visible (memq gud-minor-mode '(gdbmi gdb perldb)))
       ([menu-bar cont] menu-item
	,(propertize "cont" 'face 'font-lock-doc-face) gud-cont
	:visible (not (eq gud-minor-mode 'gdbmi)))
       ([menu-bar run] menu-item
	,(propertize "run" 'face 'font-lock-doc-face) gud-run
	:visible (memq gud-minor-mode '(gdbmi gdb dbx jdb)))
       ([menu-bar go] menu-item
	,(propertize " go " 'face 'font-lock-doc-face) gud-go
	:visible (and (eq gud-minor-mode 'gdbmi)
                      (gdb-show-run-p)))
       ([menu-bar stop] menu-item
	,(propertize "stop" 'face 'font-lock-doc-face) gud-stop-subjob
	:visible (or (and (eq gud-minor-mode 'gdbmi)
                          (gdb-show-stop-p))
		     (not (eq gud-minor-mode 'gdbmi))))
       ([menu-bar print]
	. (,(propertize "print" 'face 'font-lock-doc-face) . gud-print))
       ([menu-bar tools] . undefined)
       ([menu-bar buffer] . undefined)
       ([menu-bar options] . undefined)
       ([menu-bar edit] . undefined)
       ([menu-bar file] . undefined))))
  "Map used in visited files.")