Przeglądaj źródła

ob-python: fix startup messages leaking into output

* lisp/ob-python.el (org-babel-python-initiate-session-by-key): Remove
workaround for emacs<24.1.  Sleep after starting Python, to prevent
startup messages leaking into output results.
* testing/lisp/test-ob-python.el (test-ob-python/session-multiline):
Remove workaround for startup message leaking into results.
Jack Kamm 4 lat temu
rodzic
commit
5d289d2b3e
2 zmienionych plików z 7 dodań i 12 usunięć
  1. 7 9
      lisp/ob-python.el
  2. 0 3
      testing/lisp/test-ob-python.el

+ 7 - 9
lisp/ob-python.el

@@ -187,15 +187,13 @@ then create.  Return the initialized session."
 		    (concat org-babel-python-command " -i")
 		  org-babel-python-command)))
       (cond
-       ((and (eq 'python org-babel-python-mode)
-	     (fboundp 'run-python)) ; python.el
-	(if (not (version< "24.1" emacs-version))
-	    (run-python cmd)
-	  (unless py-buffer
-	    (setq py-buffer (org-babel-python-with-earmuffs session)))
-	  (let ((python-shell-buffer-name
-		 (org-babel-python-without-earmuffs py-buffer)))
-	    (run-python cmd))))
+       ((eq 'python org-babel-python-mode) ; python.el
+	(unless py-buffer
+	  (setq py-buffer (org-babel-python-with-earmuffs session)))
+	(let ((python-shell-buffer-name
+	       (org-babel-python-without-earmuffs py-buffer)))
+	  (run-python cmd)
+	  (sleep-for 0 10)))
        ((and (eq 'python-mode org-babel-python-mode)
 	     (fboundp 'py-shell)) ; python-mode.el
 	(require 'python-mode)

+ 0 - 3
testing/lisp/test-ob-python.el

@@ -102,9 +102,6 @@ return x
 	    (org-babel-execute-src-block)))))
 
 (ert-deftest test-ob-python/session-multiline ()
-  ;; FIXME workaround to prevent starting prompt leaking into output
-  (run-python)
-  (sleep-for 0 10)
   (should
    (equal "20"
 	  (org-test-with-temp-text "#+begin_src python :session :results output