summaryrefslogtreecommitdiff
path: root/lisp/gud.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gud.el')
-rw-r--r--lisp/gud.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/gud.el b/lisp/gud.el
index bf728b6c6a1..1734a95636e 100644
--- a/lisp/gud.el
+++ b/lisp/gud.el
@@ -934,7 +934,8 @@ comint mode, which see."
(defun gud-filter (proc string)
;; Here's where the actual buffer insertion is done
- (let ((inhibit-quit t))
+ (let ((inhibit-quit t)
+ output)
(save-excursion
(set-buffer (process-buffer proc))
;; If we have been so requested, delete the debugger prompt.
@@ -942,9 +943,8 @@ comint mode, which see."
(progn
(delete-region (process-mark proc) gud-delete-prompt-marker)
(set-marker gud-delete-prompt-marker nil)))
- ;; Let the comint filter do the actual insertion.
- ;; That lets us inherit various comint features.
- (comint-output-filter proc (gud-marker-filter string))
+ ;; Save the process output, checking for source file markers.
+ (setq output (gud-marker-filter string))
;; Check for a filename-and-line number.
;; Don't display the specified file
;; unless (1) point is at or after the position where output appears
@@ -952,7 +952,10 @@ comint mode, which see."
(if (and gud-last-frame
(>= (point) (process-mark proc))
(get-buffer-window (current-buffer)))
- (gud-display-frame)))))
+ (gud-display-frame))
+ ;; Let the comint filter do the actual insertion.
+ ;; That lets us inherit various comint features.
+ (comint-output-filter proc output))))
(defun gud-sentinel (proc msg)
(cond ((null (buffer-name (process-buffer proc)))