Subject: bug#43209: 27.1; rectangle-mark-mode does not activate region if transient mark mode disabled

From: Drew Adams <[email-masked]>
Date: Sat, 5 Sep 2020 07:28:08 -0700 (PDT)

> rectangle-mark-mode does not activate region if transient mark mode is
> disabled.
> 
> Steps:
> 
> 1. emacs -Q
> 2. M-x transient-mark-mode RET
> 3. C-x SPC
> 
> Expected:
> 
> Region is activated temporarily.
> 
> Actual:
> 
> Region is not activated.  Note that rectagle-mark-mode is still
> partially enabled.  For example, C-x C-x moves point according to the
> rectangular region, but you cannot move point beyond the end of the
> line.
> 
> I propose making rectangle-mark-mode activate the region even if
> transient-mark-mode is disabled for a number of reasons.
> 
> I think it's a reasonable interpretation of the docstring:
> 
> Activates the region if needed.  Only lasts until the region is
> deactivated.
> 
> rectangle-mark-mode is transient like having an active region and unlike
> having a mark.  That is to say, someone who uses the mark with
> transient-mark-mode off may not want to operate on the region and thus
> not want to activate the region (e.g., when using the mark to jump to
> later), but there is no use case for rectangle-mark-mode that does not
> involve operating on the region.
> 
> Also since rectangle-mark-mode is transient, it makes sense to couple it
> with region activation as the active region is also transient with the
> same lifespan.

I agree that `rectangle-mark-mode' requires
`transient-mark-mode' to be on.  But only as
long as `rectangle-mark-mode' is on, i.e.,
only as long as the region is active.

After that, the previous state of
`transient-mark-mode' (on or off) should be
restored.

"Active region" has no meaning outside of
`transient-mark-mode'.  Anything, including
`rectangle-mark-mode', that requires the
notion (and behavior - e.g. highlighting) of
the "active region" needs `transient-mark-mode'
to be on (for the duration of that need).