From 096a3cb45baa4ff954c19c1d2d34dd86757ef4f5 Mon Sep 17 00:00:00 2001 From: Augusto Stoffel Date: Tue, 14 Sep 2021 05:31:45 +0200 Subject: [PATCH] Python shell: rearrange printing of newline before output * progmodes/python.el (python-shell-output-filter-in-progress, python-shell-output-filter-buffer): Move defvars to avoid compiler warnings. (python-shell-eval-setup-code): Don't print a newline in __PYTHON_EL_eval. (python-shell-send-string): Insert newline before output when applicable, --- lisp/progmodes/python.el | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index d9fc5c5009..fae350dea2 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2189,6 +2189,9 @@ python-shell-compilation-regexp-alist :type '(alist regexp) :group 'python) +(defvar python-shell-output-filter-in-progress nil) +(defvar python-shell-output-filter-buffer nil) + (defmacro python-shell--add-to-path-with-priority (pathvar paths) "Modify PATHVAR and ensure PATHS are added only once at beginning." `(dolist (path (reverse ,paths)) @@ -2821,7 +2824,6 @@ python-shell-eval-setup-code from __builtin__ import compile, eval, globals else: from builtins import compile, eval, globals - sys.stdout.write('\\n') try: p, e = ast.parse(source, filename), None except SyntaxError: @@ -3162,6 +3164,11 @@ python-shell-send-string (python-shell--encode-string string) (python-shell--encode-string (or (buffer-file-name) ""))))) + (unless python-shell-output-filter-in-progress + (with-current-buffer (process-buffer process) + (save-excursion + (goto-char (process-mark process)) + (insert-before-markers "\n")))) (if (or (null (process-tty-name process)) (<= (string-bytes code) (or (bound-and-true-p comint-max-line-length) @@ -3172,9 +3179,6 @@ python-shell-send-string (file-name (or (buffer-file-name) temp-file-name))) (python-shell-send-file file-name process temp-file-name t))))) -(defvar python-shell-output-filter-in-progress nil) -(defvar python-shell-output-filter-buffer nil) - (defun python-shell-output-filter (string) "Filter used in `python-shell-send-string-no-output' to grab output. STRING is the output received to this point from the process. -- 2.31.1