]> git.eshelyaron.com Git - emacs.git/commitdiff
python.el: Allow killing shell buffer if process is dead.
authorFabián Ezequiel Gallina <fgallina@gnu.org>
Thu, 12 Feb 2015 03:41:07 +0000 (00:41 -0300)
committerFabián Ezequiel Gallina <fgallina@gnu.org>
Thu, 12 Feb 2015 03:41:07 +0000 (00:41 -0300)
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
lisp/progmodes/python.el

index 6c51e2aee98546d988b960496c4506279df8375a..b56a5d1f512bfc84ddeb4e22248faf8c5ee818ae 100644 (file)
@@ -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
index be747d008dd1e144419038df4adf0131c05127ae..20266097fed8302ddfb8f0938980cfdcd27f35a0 100644 (file)
@@ -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)