summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabián Ezequiel Gallina <fgallina@gnu.org>2015-02-12 00:41:07 -0300
committerFabián Ezequiel Gallina <fgallina@gnu.org>2015-02-12 00:41:07 -0300
commitda726ad0c6177a3442a374a135f40a24945d362c (patch)
tree9ea9a1ebe90d446b09427e7050bcd291aedb5b35
parent511acc77a4b0be3ed997c335f270b346a4ed0d5f (diff)
downloademacs-da726ad0c6177a3442a374a135f40a24945d362c.tar.gz
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.
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/progmodes/python.el14
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 <fgallina@gnu.org>
+
+ 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 <monnier@iro.umontreal.ca>
* 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)