]> granicus.if.org Git - python/commitdiff
(py-execute-region): Hack around the different behavior and switch
authorBarry Warsaw <barry@python.org>
Fri, 20 Nov 1998 03:04:07 +0000 (03:04 +0000)
committerBarry Warsaw <barry@python.org>
Fri, 20 Nov 1998 03:04:07 +0000 (03:04 +0000)
semantics between CPython/JPython when the script source is piped to
stdin.

Misc/python-mode.el

index 2adc3c66fd2177122601706dc305cfde2b212b41..a99bfdfe6aa5981bf4f5bcd8a0edc6c75570ebca 100644 (file)
@@ -1215,8 +1215,11 @@ is inserted at the end.  See also the command `py-clear-queue'."
     (cond
      ;; always run the code in its own asynchronous subprocess
      (async
-      (let* ((buf (generate-new-buffer-name py-output-buffer)))
-       (start-process py-which-bufname buf py-which-shell "-u" file)
+      (let* ((buf (generate-new-buffer-name py-output-buffer))
+            ;; TBD: a horrible hack, but why create new Custom variables?
+            (arg (if (string-equal py-which-bufname "Python")
+                     "-u" "")))
+       (start-process py-which-bufname buf py-which-shell arg file)
        (pop-to-buffer buf)
        (py-postprocess-output-buffer buf)
        ))
@@ -1230,18 +1233,22 @@ is inserted at the end.  See also the command `py-clear-queue'."
       (setq py-file-queue (append py-file-queue (list file)))
       (setq py-exception-buffer (cons file (current-buffer))))
      (t
-      ;; otherwise either run it synchronously in a subprocess
-      (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))
-         (message "No output.")
-       (setq py-exception-buffer (current-buffer))
-       (let ((err-p (py-postprocess-output-buffer py-output-buffer)))
-         (pop-to-buffer py-output-buffer)
-         (if err-p
-             (pop-to-buffer py-exception-buffer)))
-       ))
+      ;; TBD: a horrible hack, buy why create new Custom variables?
+      (let ((cmd (concat py-which-shell
+                        (if (string-equal py-which-bufname "JPython")
+                            " -" ""))))
+       ;; otherwise either run it synchronously in a subprocess
+       (shell-command-on-region start end cmd 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))
+         (let ((err-p (py-postprocess-output-buffer py-output-buffer)))
+           (pop-to-buffer py-output-buffer)
+           (if err-p
+               (pop-to-buffer py-exception-buffer)))
+         )))
      )))
 
 \f