On Tue, Nov 7, 2017 at 2:39 PM, Jean-Christophe Helary
<
jean.christophe.helary@gmail.com> wrote:
I would like to know why isearch has been designed so that it does not create a region with the matching string. The thing that appears in the buffer looks like a region, but it is not, and that keeps the user from immediately interacting with the matching string (deleting, overwriting, killing or yanking, etc.)
isearch is incremental, so most of the region-affecting actions would
conflict with it.
But search is not incremental and does not return a region either. It just puts point at the end of the match. I guess that's useful when you are trying to create a region from the original point (where you'd put the mark) to the end of the matching string, but that's quite a limited use. Or is search designed only for navigation in the document? What's the point having a search that does not *find*?
Is there a search that returns the matching string as a region?
* Deleting with Backspace deletes the last character of the pattern
(conflicts with deleting the region).
* Typing text adds to the pattern (conflicts with overwriting the region).
* Pasting (yanking) adds to the pattern, too.
I see that there are lots of isearch-yank commands, but no isearch-kill...
On the help list, I was suggested to use C-backspace after an isearch since the point is at the end of the match, but that only deletes a "word" and not the full match.
By the way, what is the status of the beginning of the match as highlighted by isearch? It is not a mark, and it is not point...
You would need an isearch command that (1) marks the current
occurrence as a region, and (2) exits isearch mode so you can affect
the region with your next command.
I understand that.
On the other hand, some commands could work right out of isearch mode,
if suitably implemented:
* Deleting with Delete.
* Cutting (killing) and copying.