aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>2002-06-15 14:26:06 +0000
committerRichard M. Stallman <[email protected]>2002-06-15 14:26:06 +0000
commit3fdbf632230ba121f6625971bbe4a09608d59505 (patch)
tree152411f275f23556438d6d64ad34af80564627b7
parent72695e4715e5094196670ef23ad6152b51267649 (diff)
(comint-skip-input): New function.
(comint-interrupt-subjob, comint-kill-subjob, comint-quit-subjob) (comint-stop-subjob): Use comint-skip-input.
-rw-r--r--lisp/comint.el21
1 files changed, 17 insertions, 4 deletions
diff --git a/lisp/comint.el b/lisp/comint.el
index 6840e4d6c5..f864da9649 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -2059,7 +2059,7 @@ Sets mark to the value of point when this command is run."
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 @@ between the process-mark and point."
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 @@ between the process-mark and point."
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 @@ the top-level process running in the buffer. If you accidentally do
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 @@ Useful if you accidentally suspend the top-level process."
(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)