Fix python-eldoc affecting unrelated comint processes
* lisp/progmodes/python.el (python-shell-send-string-no-output): Don't let-bind comint-preoutput-filter-functions globally for all comint processes. Modify the behaviour of only the current python process (bug#53219).
This commit is contained in:
parent
fa1dd64ba8
commit
07335abeb4
1 changed files with 7 additions and 5 deletions
|
@ -3216,11 +3216,13 @@ detecting a prompt at the end of the buffer."
|
|||
(defun python-shell-send-string-no-output (string &optional process)
|
||||
"Send STRING to PROCESS and inhibit output.
|
||||
Return the output."
|
||||
(let ((process (or process (python-shell-get-process-or-error)))
|
||||
(comint-preoutput-filter-functions
|
||||
'(python-shell-output-filter))
|
||||
(python-shell-output-filter-in-progress t)
|
||||
(inhibit-quit t))
|
||||
(or process (setq process (python-shell-get-process-or-error)))
|
||||
(cl-letf (((process-filter process)
|
||||
(lambda (_proc str)
|
||||
(with-current-buffer (process-buffer process)
|
||||
(python-shell-output-filter str))))
|
||||
(python-shell-output-filter-in-progress t)
|
||||
(inhibit-quit t))
|
||||
(or
|
||||
(with-local-quit
|
||||
(python-shell-send-string string process)
|
||||
|
|
Loading…
Add table
Reference in a new issue