Kaydet (Commit) 014e0e29 authored tarafından Barry Warsaw's avatar Barry Warsaw

(py-execute-region): Patch by Hunter Kelly so that execution uses the

correct Python shell (CPython or JPython).
üst 50cd3488
...@@ -1040,8 +1040,8 @@ comint believe the user typed this string so that ...@@ -1040,8 +1040,8 @@ comint believe the user typed this string so that
(defun py-comint-output-filter-function (string) (defun py-comint-output-filter-function (string)
"Watch output for Python prompt and exec next file waiting in queue. "Watch output for Python prompt and exec next file waiting in queue.
This function is appropriate for `comint-output-filter-functions'." This function is appropriate for `comint-output-filter-functions'."
;; TBD: this should probably use split-string
(when (and (or (string-equal string ">>> ") (when (and (or (string-equal string ">>> ")
;; NT XEmacs 21.0 kludge
(and (>= (length string) 5) (and (>= (length string) 5)
(string-equal (substring string -5) "\n>>> "))) (string-equal (substring string -5) "\n>>> ")))
py-file-queue) py-file-queue)
...@@ -1200,7 +1200,7 @@ is inserted at the end. See also the command `py-clear-queue'." ...@@ -1200,7 +1200,7 @@ is inserted at the end. See also the command `py-clear-queue'."
(interactive "r\nP") (interactive "r\nP")
(or (< start end) (or (< start end)
(error "Region is empty")) (error "Region is empty"))
(let* ((proc (get-process "Python")) (let* ((proc (get-process py-which-bufname))
(temp (if (memq 'broken-temp-names py-emacs-features) (temp (if (memq 'broken-temp-names py-emacs-features)
(let (let
((sn py-serial-number) ((sn py-serial-number)
...@@ -1216,7 +1216,7 @@ is inserted at the end. See also the command `py-clear-queue'." ...@@ -1216,7 +1216,7 @@ is inserted at the end. See also the command `py-clear-queue'."
;; always run the code in its own asynchronous subprocess ;; always run the code in its own asynchronous subprocess
(async (async
(let* ((buf (generate-new-buffer-name py-output-buffer))) (let* ((buf (generate-new-buffer-name py-output-buffer)))
(start-process "Python" buf py-python-command "-u" file) (start-process py-which-bufname buf py-which-shell "-u" file)
(pop-to-buffer buf) (pop-to-buffer buf)
(py-postprocess-output-buffer buf) (py-postprocess-output-buffer buf)
)) ))
...@@ -1231,7 +1231,7 @@ is inserted at the end. See also the command `py-clear-queue'." ...@@ -1231,7 +1231,7 @@ is inserted at the end. See also the command `py-clear-queue'."
(setq py-exception-buffer (cons file (current-buffer)))) (setq py-exception-buffer (cons file (current-buffer))))
(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-which-shell py-output-buffer)
;; shell-command-on-region kills the output buffer if it never ;; shell-command-on-region kills the output buffer if it never
;; existed and there's no output from the command ;; existed and there's no output from the command
(if (not (get-buffer py-output-buffer)) (if (not (get-buffer py-output-buffer))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment