From: Miha Rihtaršič Date: Fri, 14 Jan 2022 07:33:58 +0000 (+0100) Subject: Fix python-eldoc affecting unrelated comint processes X-Git-Tag: emacs-29.0.90~3075 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=07335abeb41654ad6555284e3d0c1ae21e77469b;p=emacs.git 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). --- diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index edd3139a7aa..5889f2ab670 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -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)