# HG changeset patch # User Richard M. Stallman # Date 1011396316 0 # Node ID ba5189cc64321992e8e29336ca956aa78a5c9b76 # Parent 20fac7788e1f1fe05e05193715617eaaf4e2b4c3 (comint-redirect-send-command-to-process): Restore previous current buffer. diff -r 20fac7788e1f -r ba5189cc6432 lisp/comint.el --- a/lisp/comint.el Fri Jan 18 18:59:27 2002 +0000 +++ b/lisp/comint.el Fri Jan 18 23:25:16 2002 +0000 @@ -3164,52 +3164,52 @@ process)) (proc (get-buffer-process process-buffer))) ;; Change to the process buffer - (set-buffer process-buffer) - - ;; Make sure there's a prompt in the current process buffer - (and comint-redirect-perform-sanity-check - (save-excursion - (goto-char (point-max)) - (or (re-search-backward comint-prompt-regexp nil t) - (error "No prompt found or `comint-prompt-regexp' not set properly")))) + (with-current-buffer process-buffer + + ;; Make sure there's a prompt in the current process buffer + (and comint-redirect-perform-sanity-check + (save-excursion + (goto-char (point-max)) + (or (re-search-backward comint-prompt-regexp nil t) + (error "No prompt found or `comint-prompt-regexp' not set properly")))) ;;;;;;;;;;;;;;;;;;;;; - ;; Set up for redirection + ;; Set up for redirection ;;;;;;;;;;;;;;;;;;;;; - (comint-redirect-setup - ;; Output Buffer - output-buffer - ;; Comint Buffer - (current-buffer) - ;; Finished Regexp - comint-prompt-regexp - ;; Echo input - echo) + (comint-redirect-setup + ;; Output Buffer + output-buffer + ;; Comint Buffer + (current-buffer) + ;; Finished Regexp + comint-prompt-regexp + ;; Echo input + echo) ;;;;;;;;;;;;;;;;;;;;; - ;; Set the filter + ;; Set the filter ;;;;;;;;;;;;;;;;;;;;; - ;; Save the old filter - (setq comint-redirect-original-filter-function - (process-filter proc)) - (set-process-filter proc 'comint-redirect-filter) + ;; Save the old filter + (setq comint-redirect-original-filter-function + (process-filter proc)) + (set-process-filter proc 'comint-redirect-filter) ;;;;;;;;;;;;;;;;;;;;; - ;; Send the command + ;; Send the command ;;;;;;;;;;;;;;;;;;;;; - (process-send-string - (current-buffer) - (concat command "\n")) + (process-send-string + (current-buffer) + (concat command "\n")) ;;;;;;;;;;;;;;;;;;;;; - ;; Show the output + ;; Show the output ;;;;;;;;;;;;;;;;;;;;; - (or no-display - (display-buffer - (get-buffer-create - (if (listp output-buffer) - (car output-buffer) - output-buffer)))))) + (or no-display + (display-buffer + (get-buffer-create + (if (listp output-buffer) + (car output-buffer) + output-buffer))))))) ;;;###autoload (defun comint-redirect-results-list (command regexp regexp-group)