[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41440: 26.3; 'replace' argument in function 'shell-command-on-region
From: |
Juri Linkov |
Subject: |
bug#41440: 26.3; 'replace' argument in function 'shell-command-on-region' is assumed to be always t for rectangle selection |
Date: |
Mon, 08 Jun 2020 03:35:25 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) |
>> From: Warren Lynn <wrn.lynn@gmail.com>
>> Date: Thu, 21 May 2020 14:53:05 -0400
>>
>> I am gladly surprised to find out function
>> shell-command-on-region
>> is supposed to work on rectangle selection also (with
>> 'region-noncontiguous-p' set to t), but then
>> disappointed to find out the feature does not work. It has two problems:
>>
>> 1. As this email title says, argument 'replace' is assumed to be t no matter
>> what.
>> 2. Even if I really want to replace the original selection with the
>> shell-command output, it still does not work.
>> An error will be thrown in function "cua--insert-rectangle" due to some
>> argument type mismatch.
>>
>> This feature will be very useful to me (and hopefully others too) and I hope
>> somebody can fix the above.
>
> Juri, could you please look into this? In addition to the problem
> described in the bug report, the 'region-noncontiguous-p' argument is
> not mentioned in the doc string and not in the manual. I'd like to
> fix that for Emacs 27, please.
Here is the docstring fix for Emacs 27:
diff --git a/lisp/simple.el b/lisp/simple.el
index 6e69f86739..69c9b68427 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3952,7 +3952,12 @@ shell-command-on-region
Optional seventh arg DISPLAY-ERROR-BUFFER, if non-nil, means to
display the error buffer if there were any errors. When called
-interactively, this is t."
+interactively, this is t.
+
+Non-nil REGION-NONCONTIGUOUS-P means that the region is composed of
+noncontiguous pieces. The most common example of this is a
+rectangular region, where the pieces are separated by newline
+characters."
(interactive (let (string)
(unless (mark)
(user-error "The mark is not set now, so there is no
region"))
- bug#41440: 26.3; 'replace' argument in function 'shell-command-on-region' is assumed to be always t for rectangle selection,
Juri Linkov <=