(py-execute-region): Patch by Hunter Kelly so that execution uses the
correct Python shell (CPython or JPython).
diff --git a/Misc/python-mode.el b/Misc/python-mode.el
index 12c2d11..2adc3c6 100644
--- a/Misc/python-mode.el
+++ b/Misc/python-mode.el
@@ -1040,8 +1040,8 @@
(defun py-comint-output-filter-function (string)
"Watch output for Python prompt and exec next file waiting in queue.
This function is appropriate for `comint-output-filter-functions'."
+ ;; TBD: this should probably use split-string
(when (and (or (string-equal string ">>> ")
- ;; NT XEmacs 21.0 kludge
(and (>= (length string) 5)
(string-equal (substring string -5) "\n>>> ")))
py-file-queue)
@@ -1200,7 +1200,7 @@
(interactive "r\nP")
(or (< start end)
(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)
(let
((sn py-serial-number)
@@ -1216,7 +1216,7 @@
;; always run the code in its own asynchronous subprocess
(async
(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)
(py-postprocess-output-buffer buf)
))
@@ -1231,7 +1231,7 @@
(setq py-exception-buffer (cons file (current-buffer))))
(t
;; 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
;; existed and there's no output from the command
(if (not (get-buffer py-output-buffer))