Stop highlighting current line when debuggee is running

* lisp/progmodes/gud.el (gud-hide-current-line-indicator): New
function.
(gud-sentinel):
* lisp/progmodes/gdb-mi.el (gdb-starting): Use it.  (Bug#73687)
This commit is contained in:
Diancheng Wang 2024-10-08 11:11:24 +08:00 committed by Eli Zaretskii
parent ebfd5874f0
commit bd5d84e5d3
2 changed files with 15 additions and 9 deletions

View file

@ -2699,7 +2699,8 @@ Sets `gdb-thread-number' to new id."
(gdb-force-mode-line-update
(propertize gdb-inferior-status 'face font-lock-type-face))
(setq gdb-active-process t)
(setq gud-running t))
(setq gud-running t)
(gud-hide-current-line-indicator nil))
;; -break-insert -t didn't give a reason before gdb 6.9

View file

@ -2949,11 +2949,19 @@ It is saved for when this flag is not set.")
"Overlay created for `gud-highlight-current-line'.
It is nil if not yet present.")
(defun gud-hide-current-line-indicator(destroy-overlay)
"Stop displaying arrow and highlighting current line in a source file."
;; Stop displaying an arrow in a source file.
(setq gud-overlay-arrow-position nil)
;; And any highlight overlays.
(when gud-highlight-current-line-overlay
(delete-overlay gud-highlight-current-line-overlay)
(if destroy-overlay
(setq gud-highlight-current-line-overlay nil))))
(defun gud-sentinel (proc msg)
(cond ((null (buffer-name (process-buffer proc)))
;; buffer killed
;; Stop displaying an arrow in a source file.
(setq gud-overlay-arrow-position nil)
(set-process-buffer proc nil)
(if (and (boundp 'speedbar-initial-expansion-list-name)
(string-equal speedbar-initial-expansion-list-name "GUD"))
@ -2963,12 +2971,9 @@ It is nil if not yet present.")
(gdb-reset)
(gud-reset)))
((memq (process-status proc) '(signal exit))
;; Stop displaying an arrow in a source file.
(setq gud-overlay-arrow-position nil)
;; And any highlight overlays.
(when gud-highlight-current-line-overlay
(delete-overlay gud-highlight-current-line-overlay)
(setq gud-highlight-current-line-overlay nil))
(gud-hide-current-line-indicator t)
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
'gdbmi)
(gdb-reset)