GNU bug report logs -
#73687
31.0.50; Stop highlighting current line when debugee is not stopped
Previous Next
Reported by: Diancheng Wang <diancheng_wang <at> 163.com>
Date: Tue, 8 Oct 2024 03:13:02 UTC
Severity: normal
Found in version 31.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
When highlighting current line is enabled with
gud-highlight-current-line-overlay, the highlighting current line is always
enabled even debugee is running. Attachment is a patch to fix it. The patch
introduces a new function 'gud-hide-current-line-indicator', then call it
when debugee is running in gdb.el.
[gud-hide-current-line-indicator.patch (text/x-diff, inline)]
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 2981965ee0c..6a9735fbc25 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -2699,7 +2699,8 @@ 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))
+ (setq gud-running t)
+ (gud-hide-current-line-indicator nil))
;; -break-insert -t didn't give a reason before gdb 6.9
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 53a7d78328c..a4e611277e4 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -2949,11 +2949,19 @@ gud-highlight-current-line-overlay
"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 @@ gud-sentinel
(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)
This bug report was last modified 281 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.