(py-execute-region): Watch out for shell-command-on-region killing a

zero sized output buffer.
This commit is contained in:
Barry Warsaw 1998-03-25 23:27:17 +00:00
parent 69c70a2fd1
commit 512af04b35
1 changed files with 10 additions and 4 deletions

View File

@ -1133,6 +1133,7 @@ Electric behavior is inhibited inside a string or comment."
(set-buffer curbuf)))) (set-buffer curbuf))))
(defun py-postprocess-output-buffer (buf) (defun py-postprocess-output-buffer (buf)
;; Highlight exceptions found in BUF
(let (line file bol) (let (line file bol)
(save-excursion (save-excursion
(set-buffer buf) (set-buffer buf)
@ -1257,10 +1258,15 @@ is inserted at the end. See also the command `py-clear-queue'."
(t (t
;; otherwise either run it synchronously in a subprocess ;; otherwise either run it synchronously in a subprocess
(shell-command-on-region start end py-python-command py-output-buffer) (shell-command-on-region start end py-python-command py-output-buffer)
;; shell-command-on-region kills the output buffer if it never
;; existed and there's no output from the command
(if (not (get-buffer py-output-buffer))
(message "No output.")
(setq py-exception-buffer (current-buffer)) (setq py-exception-buffer (current-buffer))
(py-postprocess-output-buffer py-output-buffer) (py-postprocess-output-buffer py-output-buffer)
(pop-to-buffer py-output-buffer) (pop-to-buffer py-output-buffer)
)))) ))
)))
;; Code execution command ;; Code execution command
(defun py-execute-buffer (&optional async) (defun py-execute-buffer (&optional async)