aboutsummaryrefslogtreecommitdiffstats
path: root/test/lisp/progmodes/python-tests.el
diff options
context:
space:
mode:
authorKévin Le Gouguec2021-12-13 05:17:00 +0100
committerLars Ingebrigtsen2021-12-13 05:17:00 +0100
commit9bd3f78645e14fdbaf3a569df5e0a52249c4f90e (patch)
tree137b73a22f01899457e0a5eac03339b72e031d42 /test/lisp/progmodes/python-tests.el
parent62139aeb42e286b51afe7dd6045ba7f5519593fc (diff)
downloademacs-9bd3f78645e14fdbaf3a569df5e0a52249c4f90e.tar.gz
emacs-9bd3f78645e14fdbaf3a569df5e0a52249c4f90e.zip
Make `M-x run-python' select the window again
Interactively, we want M-x run-python to focus the interpreter buffer. The previous code failed in two ways: - the call to 'display-buffer' was not reached if an interpreter was already running, - set-buffer is ineffectual if the interpreter's window is not selected: once Emacs returns to the command loop, the current buffer will revert back to what the selected window contains. * lisp/progmodes/python.el (python-shell-make-comint): Handle the SHOW argument regardless of whether an interpreter buffer exists, and use pop-to-buffer to select the window. (run-python): Delegate buffer management to 'python-shell-make-comint'. * test/lisp/progmodes/python-tests.el (python-tests--run-python-selects-window): Rename from 'python-tests--bug31398', and adjust assertions (bug#52380).
Diffstat (limited to 'test/lisp/progmodes/python-tests.el')
-rw-r--r--test/lisp/progmodes/python-tests.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el
index 6ab9c62746e..752a4f0113f 100644
--- a/test/lisp/progmodes/python-tests.el
+++ b/test/lisp/progmodes/python-tests.el
@@ -5448,15 +5448,21 @@ buffer with overlapping strings."
5448 (python-nav-end-of-statement))) 5448 (python-nav-end-of-statement)))
5449 (should (eolp)))) 5449 (should (eolp))))
5450 5450
5451;; After call `run-python' the buffer running the python process is current. 5451;; Interactively, `run-python' focuses the buffer running the
5452(ert-deftest python-tests--bug31398 () 5452;; interpreter.
5453 "Test for https://debbugs.gnu.org/31398 ." 5453(ert-deftest python-tests--run-python-selects-window ()
5454 "Test for bug#31398. See also bug#44421 and bug#52380."
5454 (skip-unless (executable-find python-tests-shell-interpreter)) 5455 (skip-unless (executable-find python-tests-shell-interpreter))
5455 (let ((buffer (process-buffer (run-python nil nil 'show)))) 5456 (let* ((buffer (process-buffer (run-python nil nil 'show)))
5456 (should (eq buffer (current-buffer))) 5457 (window (get-buffer-window buffer)))
5458 ;; We look at `selected-window' rather than `current-buffer'
5459 ;; because as `(elisp)Current buffer' says, the latter will only
5460 ;; be synchronized with the former when returning to the "command
5461 ;; loop"; until then, `current-buffer' can change arbitrarily.
5462 (should (eq window (selected-window)))
5457 (pop-to-buffer (other-buffer)) 5463 (pop-to-buffer (other-buffer))
5458 (run-python nil nil 'show) 5464 (run-python nil nil 'show)
5459 (should (eq buffer (current-buffer))))) 5465 (should (eq window (selected-window)))))
5460 5466
5461(ert-deftest python-tests--fill-long-first-line () 5467(ert-deftest python-tests--fill-long-first-line ()
5462 (should 5468 (should