changeset 45836:e4a48b5ab2fb

(comint-skip-input): New function. (comint-interrupt-subjob, comint-kill-subjob, comint-quit-subjob) (comint-stop-subjob): Use comint-skip-input.
author Richard M. Stallman <rms@gnu.org>
date Sat, 15 Jun 2002 14:26:06 +0000
parents aab759361c24
children 804a7f5a0cc3
files lisp/comint.el
diffstat 1 files changed, 17 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/comint.el	Sat Jun 15 14:20:52 2002 +0000
+++ b/lisp/comint.el	Sat Jun 15 14:26:06 2002 +0000
@@ -2059,7 +2059,7 @@
 This command also kills the pending input
 between the process-mark and point."
   (interactive)
-  (comint-kill-input)
+  (comint-skip-input)
   (interrupt-process nil comint-ptyp))
 
 (defun comint-kill-subjob ()
@@ -2067,7 +2067,7 @@
 This command also kills the pending input
 between the process-mark and point."
   (interactive)
-  (comint-kill-input)
+  (comint-skip-input)
   (kill-process nil comint-ptyp))
 
 (defun comint-quit-subjob ()
@@ -2075,7 +2075,7 @@
 This command also kills the pending input
 between the process-mark and point."
   (interactive)
-  (comint-kill-input)
+  (comint-skip-input)
   (quit-process nil comint-ptyp))
 
 (defun comint-stop-subjob ()
@@ -2088,7 +2088,7 @@
 this, use \\[comint-continue-subjob] to resume the process. (This
 is not a problem with most shells, since they ignore this signal.)"
   (interactive)
-  (comint-kill-input)
+  (comint-skip-input)
   (stop-process nil comint-ptyp))
 
 (defun comint-continue-subjob ()
@@ -2097,6 +2097,19 @@
   (interactive)
   (continue-process nil comint-ptyp))
 
+(defun comint-skip-input ()
+  "Skip all pending input, from last stuff output by interpreter to point.
+This means mark it as if it had been sent as input, without sending it."
+  (let ((comint-input-sender 'ignore)
+	(comint-input-filter-functions nil))
+    (comint-send-input t))
+  (end-of-line)
+  (let ((pos (point))
+	(marker (process-mark (get-buffer-process (current-buffer)))))
+    (insert "  " (key-description (this-command-keys)))
+    (if (= marker pos)
+	(set-marker marker (point)))))
+
 (defun comint-kill-input ()
   "Kill all text from last stuff output by interpreter to point."
   (interactive)