]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow comint-delete-output to save the output on the kill ring
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 19 Jul 2021 15:13:11 +0000 (17:13 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 19 Jul 2021 15:13:11 +0000 (17:13 +0200)
* lisp/comint.el (comint-delete-output): Allow saving the output
to the kill ring (bug#1496).

lisp/comint.el

index 9e406614b9a3418f4d25e925417af8fed25848d0..78012616215ef005b298c25a266f50b413bebfa1 100644 (file)
@@ -2471,10 +2471,13 @@ This function could be in the list `comint-output-filter-functions'."
 \f
 ;; Random input hackage
 
-(defun comint-delete-output ()
+(defun comint-delete-output (&optional kill)
   "Delete all output from interpreter since last input.
-Does not delete the prompt."
-  (interactive)
+If KILL (interactively, the prefix), save the killed text in the
+kill ring.
+
+This command does not delete the prompt."
+  (interactive "P")
   (let ((proc (get-buffer-process (current-buffer)))
        (replacement nil)
        (inhibit-read-only t))
@@ -2482,6 +2485,8 @@ Does not delete the prompt."
       (let ((pmark (progn (goto-char (process-mark proc))
                          (forward-line 0)
                          (point-marker))))
+        (when kill
+         (copy-region-as-kill comint-last-input-end pmark))
        (delete-region comint-last-input-end pmark)
        (goto-char (process-mark proc))
        (setq replacement (concat "*** output flushed ***\n"