`eshell-record-process-object' and `eshell-remove-process-entry'.")
(declare-function eshell-send-eof-to-process "esh-mode")
+(declare-function eshell-interactive-filter "esh-mode" (buffer string))
(declare-function eshell-tail-process "esh-cmd")
(defvar-keymap eshell-proc-mode-map
'process (format-message "received output from process `%s'\n\n%s"
process string))
(eshell--mark-as-output 0 (length string) string)
- (require 'esh-mode)
- (declare-function eshell-interactive-filter "esh-mode" (buffer string))
(eshell-interactive-filter (if process (process-buffer process)
(current-buffer))
string)))
(eshell-interactive-output-p eshell-error-handle handles)
(not (string-match "^\\(finished\\|exited\\)"
string)))
- (eshell-output-object string eshell-error-handle handles))
+ (eshell--mark-as-output 0 (length string) string)
+ (eshell-interactive-filter (process-buffer proc) string))
(process-put proc :eshell-pending nil)
;; If we're in the middle of handling output from this
;; process then schedule the EOF for later.
(ert-deftest esh-proc-test/kill-process/redirect-message ()
"Test that killing a process with a redirected stderr omits the exit status."
(skip-unless (executable-find "sleep"))
- (with-temp-buffer
- (let ((tempbuf (current-buffer)))
- (with-temp-eshell
- (eshell-insert-command (format "sleep 100 2> #<buffer %s>" tempbuf))
- (kill-process (eshell-head-process))))
+ (eshell-with-temp-buffer bufname ""
+ (with-temp-eshell
+ (eshell-insert-command (format "sleep 100 2> #<buffer %s>" bufname))
+ (kill-process (eshell-head-process)))
(should (equal (buffer-string) ""))))
\f