]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
(py-process-filter): if command takes a long time, input typed before
authorBarry Warsaw <barry@python.org>
Wed, 5 Jul 1995 22:27:23 +0000 (22:27 +0000)
committerBarry Warsaw <barry@python.org>
Wed, 5 Jul 1995 22:27:23 +0000 (22:27 +0000)
the next prompt could end up in the middle of the line, instead of
after it.  Fix given by klm@nist.gov.

Misc/python-mode.el

index 0b6383b32f1d9ad27e3e983d52785ca81f036689..a40bb27c2c8be79c0e7408f8966f1122fc27981c 100644 (file)
@@ -654,6 +654,7 @@ See the `\\[py-shell]' docs for additional warnings."
     (set-buffer pbuf)
     (let* ((start (point))
           (goback (< start pmark))
+          (goend (and (not goback) (= start (point-max))))
           (buffer-read-only nil))
       (goto-char pmark)
       (insert string)
@@ -670,14 +671,18 @@ See the `\\[py-shell]' docs for additional warnings."
        (if py-scroll-process-buffer
            (let* ((pop-up-windows t)
                   (pwin (display-buffer pbuf)))
-             (set-window-point pwin (point))))))
-    (set-buffer curbuf)
-    (if file-finished
-       (progn
-         (py-delete-file-silently (car py-file-queue))
-         (setq py-file-queue (cdr py-file-queue))
-         (if py-file-queue
-               (py-execute-file pyproc (car py-file-queue)))))))
+             (set-window-point pwin (point)))))
+      (set-buffer curbuf)
+      (if file-finished
+         (progn
+           (py-delete-file-silently (car py-file-queue))
+           (setq py-file-queue (cdr py-file-queue))
+           (if py-file-queue
+               (py-execute-file pyproc (car py-file-queue)))))
+      (and goend
+          (progn (set-buffer pbuf)
+                 (goto-char (point-max))))
+      )))
 
 (defun py-execute-buffer ()
   "Send the contents of the buffer to a Python interpreter.