From a8b2295d38f50044e0396c29aefd5f465e848c84 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Tue, 15 Aug 2017 17:49:10 -0400 Subject: [PATCH v1] Work around w32-python-2.7 bug to fix prompt detection (Bug#21376) * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put carriage returns into the temporary file when running in unbuffered mode, the w32 build of python 2.7 chokes on them. --- lisp/progmodes/python.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index d774874a43..b7385f870f 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2251,7 +2251,11 @@ python-shell-prompt-detect ;; `condition-case' and displaying the error message to ;; the user in the no-prompts warning. (ignore-errors - (let ((code-file (python-shell--save-temp-file code))) + (let ((code-file + ;; Python 2.7 on Windows does not handle + ;; carriage returns in unbuffered mode. + (let ((inhibit-eol-conversion (getenv "PYTHONUNBUFFERED"))) + (python-shell--save-temp-file code)))) ;; Use `process-file' as it is remote-host friendly. (process-file interpreter -- 2.14.1