diff options
| author | Stefan Monnier | 2019-04-14 18:45:35 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2019-04-14 18:45:35 -0400 |
| commit | 7a608fc6f3ded3e615e7accb29f16bfd290d80a1 (patch) | |
| tree | 032512a654ebd8e216f3c4a51f42dcce0d65e449 | |
| parent | b3cab4199a46b30539a24fb4d4b53ccdf488253e (diff) | |
| download | emacs-7a608fc6f3ded3e615e7accb29f16bfd290d80a1.tar.gz emacs-7a608fc6f3ded3e615e7accb29f16bfd290d80a1.zip | |
* lisp/progmodes/python.el: Be more careful about temp file removal
(python-shell-prompt-detect): Use unwind-protect to try and not leave
file behind in case of error.
| -rw-r--r-- | lisp/progmodes/python.el | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 27d31abaf5b..38dcc823d06 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -2266,15 +2266,16 @@ detection and just returns nil." | |||
| 2266 | ;; carriage returns in unbuffered mode. | 2266 | ;; carriage returns in unbuffered mode. |
| 2267 | (let ((inhibit-eol-conversion (getenv "PYTHONUNBUFFERED"))) | 2267 | (let ((inhibit-eol-conversion (getenv "PYTHONUNBUFFERED"))) |
| 2268 | (python-shell--save-temp-file code)))) | 2268 | (python-shell--save-temp-file code)))) |
| 2269 | ;; Use `process-file' as it is remote-host friendly. | 2269 | (unwind-protect |
| 2270 | (process-file | 2270 | ;; Use `process-file' as it is remote-host friendly. |
| 2271 | interpreter | 2271 | (process-file |
| 2272 | code-file | 2272 | interpreter |
| 2273 | '(t nil) | 2273 | code-file |
| 2274 | nil | 2274 | '(t nil) |
| 2275 | interpreter-arg) | 2275 | nil |
| 2276 | ;; Try to cleanup | 2276 | interpreter-arg) |
| 2277 | (delete-file code-file))) | 2277 | ;; Try to cleanup |
| 2278 | (delete-file code-file)))) | ||
| 2278 | (buffer-string))) | 2279 | (buffer-string))) |
| 2279 | (prompts | 2280 | (prompts |
| 2280 | (catch 'prompts | 2281 | (catch 'prompts |