mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-18 20:00:36 -08:00
python.el: Enhance shell user interaction and deprecate python-shell-get-or-create-process.
* lisp/progmodes/python.el (python-shell-get-process-or-error): New function. (python-shell-with-shell-buffer): Use it. (python-shell-send-string, python-shell-send-region) (python-shell-send-buffer, python-shell-send-defun) (python-shell-send-file, python-shell-switch-to-shell): Use it. Add argument MSG to display user-friendly message when no process is running. (python-shell-switch-to-shell): Call pop-to-buffer with NORECORD. (python-shell-make-comint): Rename argument SHOW from POP. Use display-buffer instead of pop-to-buffer. (run-python): Doc fix. Return process. (python-shell-get-or-create-process): Make obsolete. * test/automated/python-tests.el (python-shell-get-or-create-process-1) (python-shell-get-or-create-process-2) (python-shell-get-or-create-process-3): Remove tests.
This commit is contained in:
parent
996ad1b846
commit
7d1e62d51b
4 changed files with 112 additions and 118 deletions
|
|
@ -2083,84 +2083,6 @@ and `python-shell-interpreter-args' in the new shell buffer."
|
|||
(ignore-errors (kill-buffer global-shell-buffer))
|
||||
(ignore-errors (kill-buffer dedicated-shell-buffer))))))
|
||||
|
||||
(ert-deftest python-shell-get-or-create-process-1 ()
|
||||
"Check shell dedicated process creation."
|
||||
(skip-unless (executable-find python-tests-shell-interpreter))
|
||||
(python-tests-with-temp-file
|
||||
""
|
||||
(let* ((cmd
|
||||
(concat (executable-find python-tests-shell-interpreter) " -i"))
|
||||
(use-dialog-box)
|
||||
(dedicated-process-name (python-shell-get-process-name t))
|
||||
(dedicated-process (python-shell-get-or-create-process cmd t))
|
||||
(dedicated-shell-buffer (process-buffer dedicated-process)))
|
||||
(unwind-protect
|
||||
(progn
|
||||
(set-process-query-on-exit-flag dedicated-process nil)
|
||||
;; should be dedicated.
|
||||
(should (equal (process-name dedicated-process)
|
||||
dedicated-process-name))
|
||||
(kill-buffer dedicated-shell-buffer)
|
||||
;; Check there are no processes for current buffer.
|
||||
(should (not (python-shell-get-process))))
|
||||
(ignore-errors (kill-buffer dedicated-shell-buffer))))))
|
||||
|
||||
(ert-deftest python-shell-get-or-create-process-2 ()
|
||||
"Check shell global process creation."
|
||||
(skip-unless (executable-find python-tests-shell-interpreter))
|
||||
(python-tests-with-temp-file
|
||||
""
|
||||
(let* ((cmd
|
||||
(concat (executable-find python-tests-shell-interpreter) " -i"))
|
||||
(use-dialog-box)
|
||||
(process-name (python-shell-get-process-name nil))
|
||||
(process (python-shell-get-or-create-process cmd))
|
||||
(shell-buffer (process-buffer process)))
|
||||
(unwind-protect
|
||||
(progn
|
||||
(set-process-query-on-exit-flag process nil)
|
||||
;; should be global.
|
||||
(should (equal (process-name process) process-name))
|
||||
(kill-buffer shell-buffer)
|
||||
;; Check there are no processes for current buffer.
|
||||
(should (not (python-shell-get-process))))
|
||||
(ignore-errors (kill-buffer shell-buffer))))))
|
||||
|
||||
(ert-deftest python-shell-get-or-create-process-3 ()
|
||||
"Check shell dedicated/global process preference."
|
||||
(skip-unless (executable-find python-tests-shell-interpreter))
|
||||
(python-tests-with-temp-file
|
||||
""
|
||||
(let* ((cmd
|
||||
(concat (executable-find python-tests-shell-interpreter) " -i"))
|
||||
(python-shell-interpreter python-tests-shell-interpreter)
|
||||
(use-dialog-box)
|
||||
(dedicated-process-name (python-shell-get-process-name t))
|
||||
(global-process)
|
||||
(dedicated-process))
|
||||
(progn
|
||||
;; Create global process
|
||||
(run-python cmd nil)
|
||||
(setq global-process (get-buffer-process "*Python*"))
|
||||
(should global-process)
|
||||
(set-process-query-on-exit-flag global-process nil)
|
||||
;; Create dedicated process
|
||||
(run-python cmd t)
|
||||
(setq dedicated-process (get-process dedicated-process-name))
|
||||
(should dedicated-process)
|
||||
(set-process-query-on-exit-flag dedicated-process nil)
|
||||
;; Prefer dedicated.
|
||||
(should (equal (python-shell-get-or-create-process)
|
||||
dedicated-process))
|
||||
;; Kill the dedicated so the global takes over.
|
||||
(kill-buffer (process-buffer dedicated-process))
|
||||
;; Detect global.
|
||||
(should (equal (python-shell-get-or-create-process) global-process))
|
||||
;; Kill the global.
|
||||
(kill-buffer (process-buffer global-process))
|
||||
;; Check there are no processes for current buffer.
|
||||
(should (not (python-shell-get-process)))))))
|
||||
|
||||
(ert-deftest python-shell-internal-get-or-create-process-1 ()
|
||||
"Check internal shell process creation fallback."
|
||||
(skip-unless (executable-find python-tests-shell-interpreter))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue