GNU bug report logs - #72282
History entries shouldn't have the exact region hardwired in

Previous Next

Package: emacs;

Reported by: Dan Jacobson <jidanni <at> jidanni.org>

Date: Wed, 24 Jul 2024 23:23:02 UTC

Severity: normal

Full log


Message #11 received at 72282 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Dan Jacobson <jidanni <at> jidanni.org>
Cc: 72282 <at> debbugs.gnu.org
Subject: Re: bug#72282: History entries shouldn't have the exact region
 hardwired in
Date: Thu, 25 Jul 2024 21:12:44 +0300
> (repeat-complex-command)
> is great, except when used after
> (shell-command-on-region)
> in which case we will be repeating
> (shell-command-on-region 2234 2892 ...)
> instead of just
> (shell-command-on-region REGION-START REGION-END ...)
> in other words the previous exact region is hardwired into
> the history.
>
> Yes, you might say well then just do `M-| <up> RET`.
> Well that's harder to type than `<again>`, `<redo>`, `C-x M-:` or `C-x M-ESC`,
> which are the bindings of repeat-complex-command.
>
> So maybe for all history items, they shouldn't have the exact region hardwired in.

Currently this can be achieved with a 'declare' form,
but I don't know why this is not enabled consistently
for region arguments of more commands:

diff --git a/lisp/simple.el b/lisp/simple.el
index a9f8b5845d8..b3a72c2635a 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4944,6 +4944,9 @@ shell-command-on-region
 The differences are especially prominent when the region includes
 more than one line, i.e. when piping to a shell commands with embedded
 newlines."
+  (declare (interactive-args
+	    (start (use-region-beginning))
+	    (end (use-region-end))))
   (interactive (let (string)
 		 (unless (mark)
 		   (user-error "The mark is not set now, so there is no region"))




This bug report was last modified 301 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.