From: Richard M. Stallman Date: Sat, 15 Jun 2002 14:26:06 +0000 (+0000) Subject: (comint-skip-input): New function. X-Git-Tag: ttn-vms-21-2-B4~14609 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3fdbf632230ba121f6625971bbe4a09608d59505;p=emacs.git (comint-skip-input): New function. (comint-interrupt-subjob, comint-kill-subjob, comint-quit-subjob) (comint-stop-subjob): Use comint-skip-input. --- diff --git a/lisp/comint.el b/lisp/comint.el index 6840e4d6c5a..f864da96496 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)