Subject: bug#27896: [External] : Re: bug#27896: 25.2; `C-M-%' with `rectangle-mark-mode'

From: Juri Linkov <[email-masked]>
Date: Sun, 07 Feb 2021 20:58:39 +0200

>> > The (normal) region limits the text that replacement search
>> > tries to match, by bounding it.  The rectangular region keeps
>> > the ordinary region as the domain of text that search tries
>> > to match, and it filters the matches against that domain to
>> > remove any matches that are not wholly within the limits of
>> > the rectangle.
>>
>> Yup.  It's a pretty odd design decision, though --
>> I wonder whether it this happened on purpose or
>> whether that was just the simplest way to implement this.
>
> I'm pretty sure it was done this way just because
> that's much simpler to do.

Indeed.  A proper implementation would require
too much changes in core code.  Just imagine
how to properly replace multi-line regexps in the
rectangular region using current search functions.

As a workaround, to imitate rectangular narrowing,
you can copy the rectangular region with C-x r k
to a temporary buffer, query-replace in it, and
paste the result back with C-x r y.