GNU bug report logs -
#69078
[PATCH] esh-mode: Allow eshell-kill-output to actually kill the output.
Previous Next
Reported by: Tomas Volf <~@wolfsden.cz>
Date: Mon, 12 Feb 2024 16:26:02 UTC
Severity: normal
Tags: patch
Done: Jim Porter <jporterbugs <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#69078: [PATCH] esh-mode: Allow eshell-kill-output to actually kill the output.
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 69078 <at> debbugs.gnu.org.
--
69078: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69078
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
On 2/12/2024 8:22 AM, Tomas Volf wrote:
> Before this commit, the function eshell-kill-output, despite the name,
> did not allow to kill the output, it always just deleted it. This
> commit fixes that, allowing to do the kill with C-u.
Thanks for noticing this. This makes sense to me, so I've merged it to
the master branch as 572d58b5e8d.
> The function name is misleading (and in comint is is called
> coming-delete-output), but changing it could break code, so I do not think it is
> worth it. Adding the argument should be enough.
I also fixed this, but added an obsolete alias for the old name. That
way, it won't break anything, and we can be a little more consistent
with comint.
Closing this bug now.
[Message part 3 (message/rfc822, inline)]
Before this commit, the function eshell-kill-output, despite the name,
did not allow to kill the output, it always just deleted it. This
commit fixes that, allowing to do the kill with C-u.
This mimics how comint mode operates, so from this commit C-c C-o and
C-u C-c C-o will work the same way in eshell-mode and shell-mode.
* lisp/eshell/esh-mode.el (eshell-kill-output): New optional argument,
kill.
---
The function name is misleading (and in comint is is called
coming-delete-output), but changing it could break code, so I do not think it is
worth it. Adding the argument should be enough.
I do not have a copyright assignment, however the change is trivial, and mostly
copied from comint-delete-output, so I do not think it is necessary.
lisp/eshell/esh-mode.el | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index fd279f61673..882fc67b9a1 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -832,13 +832,18 @@ This function should be in the list `eshell-output-filter-functions'."
eshell-last-output-start
eshell-last-output-end))
-(defun eshell-kill-output ()
- "Kill all output from interpreter since last input.
-Does not delete the prompt."
- (interactive)
+(defun eshell-kill-output (&optional kill)
+ "Delete all output from interpreter since last input.
+If KILL (interactively, the prefix), save the killed text in the
+kill ring.
+
+This command does not delete the prompt."
+ (interactive "P")
(save-excursion
(goto-char (eshell-beginning-of-output))
(insert "*** output flushed ***\n")
+ (when kill
+ (copy-region-as-kill (point) (eshell-end-of-output)))
(delete-region (point) (eshell-end-of-output))))
(defun eshell-show-output (&optional arg)
--
2.41.0
This bug report was last modified 1 year and 153 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.