Function: python-shell-output-filter
python-shell-output-filter is a byte-compiled function defined in
python.el.gz.
Signature
(python-shell-output-filter STRING)
Documentation
Filter used in python-shell-send-string-no-output to grab output.
STRING is the output received to this point from the process.
This filter saves received output from the process in
python-shell-output-filter-buffer and stops receiving it after
detecting a prompt at the end of the buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/python.el.gz
(defun python-shell-output-filter (string)
"Filter used in `python-shell-send-string-no-output' to grab output.
STRING is the output received to this point from the process.
This filter saves received output from the process in
`python-shell-output-filter-buffer' and stops receiving it after
detecting a prompt at the end of the buffer."
(setq
string (ansi-color-filter-apply string)
python-shell-output-filter-buffer
(concat python-shell-output-filter-buffer string))
(when (python-shell-comint-end-of-output-p
python-shell-output-filter-buffer)
;; Output ends when `python-shell-output-filter-buffer' contains
;; the prompt attached at the end of it.
(setq python-shell-output-filter-in-progress nil
python-shell-output-filter-buffer
(substring python-shell-output-filter-buffer
0 (match-beginning 0)))
(when (string-match
python-shell--prompt-calculated-output-regexp
python-shell-output-filter-buffer)
;; Some shells, like IPython might append a prompt before the
;; output, clean that.
(setq python-shell-output-filter-buffer
(substring python-shell-output-filter-buffer (match-end 0)))))
"")