[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master af2a25aa19 1/2: Add new command python-shell-restart
From: |
Lars Ingebrigtsen |
Subject: |
master af2a25aa19 1/2: Add new command python-shell-restart |
Date: |
Sun, 18 Sep 2022 06:54:05 -0400 (EDT) |
branch: master
commit af2a25aa19338ed8ce1984eeed25919761b1257e
Author: Augusto Stoffel <arstoffel@gmail.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Add new command python-shell-restart
* lisp/progmodes/python.el (python-shell-restart): New command (bug#57885).
---
lisp/progmodes/python.el | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 9f9439aac6..6ef468d2cb 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -3217,6 +3217,26 @@ process buffer for a list of commands.)"
show)))
(get-buffer-process buffer)))
+(defun python-shell-restart (&optional show)
+ "Restart the Python shell.
+Optional argument SHOW (interactively, the prefix argument), if
+non-nil, means also display the Python shell buffer."
+ (interactive "P")
+ (with-current-buffer
+ (or (and (derived-mode-p 'inferior-python-mode)
+ (current-buffer))
+ (seq-some (lambda (dedicated)
+ (get-buffer (format "*%s*" (python-shell-get-process-name
+ dedicated))))
+ '(buffer project nil))
+ (user-error "No Python shell"))
+ (when-let ((proc (get-buffer-process (current-buffer))))
+ (kill-process proc)
+ (while (accept-process-output proc)))
+ (python-shell-make-comint (python-shell-calculate-command)
+ (string-trim (buffer-name) "\\*" "\\*")
+ show)))
+
(defun run-python-internal ()
"Run an inferior Internal Python process.
Input and output via buffer named after