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

From: Drew Adams <[email-masked]>
Date: Tue, 9 Feb 2021 18:38:34 +0000

> > I've long had in mind doing this myself,
> > and started to do so more than once, but I
> > haven't gotten around to accomplishing it.
> >
> > If someone does it (in a general way, with
> > no assumptions of rectangularity) then
> > great.  If not, that will be for some
> > indefinite future.
> 
> In the most general case, a noncontiguous region
> is just a set of subregions (or as you call this -
> 'zones') that for the commands that operate on it
> should look as just one contiguous string.

Well, no.  It depends on the command, of
course.  But _most_ commands will want to
treat a set of zones as just that.

They'll perform operations on one or more
of the zones - either separately or in
combination in some way.

Operations on zones need not even treat
_any_ (let alone all) of the zones as a
string.

> How to implement this, I have no idea.

My approach is to do, for each zone,
what I currently do for the active region
as a whole, which is what vanilla Emacs
does for the buffer as a whole.

IOW, instead of always using `point-min'
and `point-max' for _matching_, use the
limits of each zone.  IOW, just limit
matching to the search space.