From c7856dbefcd0402fddaf412b33e30db8c48d68c2 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 8 May 1996 04:36:21 +0000 Subject: [PATCH] (gud-filter): Move the call to gud-display-frame outside of the save-excursion. --- lisp/gud.el | 55 +++++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/lisp/gud.el b/lisp/gud.el index b42d9a20011..d24a6a441da 100644 --- a/lisp/gud.el +++ b/lisp/gud.el @@ -1225,15 +1225,16 @@ It is saved for when this flag is not set.") ;; save it for later. (setq gud-filter-pending-text (concat (or gud-filter-pending-text "") string)) - (save-excursion - ;; If we have to ask a question during the processing, - ;; defer any additional text that comes from the debugger - ;; during that time. - (let ((gud-filter-defer-flag t)) - ;; Process now any text we previously saved up. - (if gud-filter-pending-text - (setq string (concat gud-filter-pending-text string) - gud-filter-pending-text nil)) + + ;; If we have to ask a question during the processing, + ;; defer any additional text that comes from the debugger + ;; during that time. + (let ((gud-filter-defer-flag t)) + ;; Process now any text we previously saved up. + (if gud-filter-pending-text + (setq string (concat gud-filter-pending-text string) + gud-filter-pending-text nil)) + (save-excursion (set-buffer (process-buffer proc)) ;; If we have been so requested, delete the debugger prompt. (if (marker-buffer gud-delete-prompt-marker) @@ -1249,20 +1250,24 @@ It is saved for when this flag is not set.") (setq process-window (and gud-last-frame (>= (point) (process-mark proc)) - (get-buffer-window (current-buffer))))) - (if process-window - (save-selected-window - (select-window process-window) - (gud-display-frame))) - - ;; Let the comint filter do the actual insertion. - ;; That lets us inherit various comint features. - (comint-output-filter proc output) - - ;; If we deferred text that arrived during this processing, - ;; handle it now. - (if gud-filter-pending-text - (gud-filter proc ""))))))) + (get-buffer-window (current-buffer)))) + + ;; Let the comint filter do the actual insertion. + ;; That lets us inherit various comint features. + (comint-output-filter proc output))) + + ;; Put the arrow on the source line. + :; This must be outside of the save-excursion + ;; in case the source file is our current buffer. + (if process-window + (save-selected-window + (select-window process-window) + (gud-display-frame))) + + ;; If we deferred text that arrived during this processing, + ;; handle it now. + (if gud-filter-pending-text + (gud-filter proc "")))))) (defun gud-sentinel (proc msg) (cond ((null (buffer-name (process-buffer proc))) @@ -1325,11 +1330,7 @@ Obeying it means displaying in another window the specified file and line." (gud-find-file true-file))) (window (display-buffer buffer)) (pos)) -;;; (if (equal buffer (current-buffer)) -;;; nil -;;; (setq buffer-read-only nil)) (save-excursion -;;; (setq buffer-read-only t) (set-buffer buffer) (save-restriction (widen) -- 2.39.2