diff options
Diffstat (limited to 'lisp/gud.el')
-rw-r--r-- | lisp/gud.el | 13 |
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))) |