From da726ad0c6177a3442a374a135f40a24945d362c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= Date: Thu, 12 Feb 2015 00:41:07 -0300 Subject: [PATCH] python.el: Allow killing shell buffer if process is dead. Fixes: debbugs:19823 * lisp/progmodes/python.el (python-shell-font-lock-kill-buffer): Don't require a running process. (python-shell-font-lock-post-command-hook): Fontify only if the shell process is running. --- lisp/ChangeLog | 9 +++++++++ lisp/progmodes/python.el | 14 +++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6c51e2aee98..b56a5d1f512 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2015-02-12 Fabián Ezequiel Gallina + + python.el: Allow killing shell buffer if process is dead. (Bug#19823) + + * progmodes/python.el (python-shell-font-lock-kill-buffer): Don't + require a running process. + (python-shell-font-lock-post-command-hook): Fontify only if the + shell process is running. + 2015-02-11 Stefan Monnier * hi-lock.el (hi-lock-unface-buffer): Don't call diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index be747d008dd..20266097fed 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2301,12 +2301,11 @@ Signals an error if no shell buffer is available for current buffer." (defun python-shell-font-lock-kill-buffer () "Kill the font-lock buffer safely." - (python-shell-with-shell-buffer - (when (and python-shell--font-lock-buffer - (buffer-live-p python-shell--font-lock-buffer)) - (kill-buffer python-shell--font-lock-buffer) - (when (derived-mode-p 'inferior-python-mode) - (setq python-shell--font-lock-buffer nil))))) + (when (and python-shell--font-lock-buffer + (buffer-live-p python-shell--font-lock-buffer)) + (kill-buffer python-shell--font-lock-buffer) + (when (derived-mode-p 'inferior-python-mode) + (setq python-shell--font-lock-buffer nil)))) (defmacro python-shell-font-lock-with-font-lock-buffer (&rest body) "Execute the forms in BODY in the font-lock buffer. @@ -2357,7 +2356,8 @@ goes wrong and syntax highlighting in the shell gets messed up." (defun python-shell-font-lock-post-command-hook () "Fontifies current line in shell buffer." (let ((prompt-end (cdr (python-util-comint-last-prompt)))) - (when (and prompt-end (> (point) prompt-end)) + (when (and prompt-end (> (point) prompt-end) + (process-live-p (get-buffer-process (current-buffer)))) (let* ((input (buffer-substring-no-properties prompt-end (point-max))) (start-pos prompt-end) -- 2.39.2