From: Sean Whitton <spwhitton@spwhitton.name>
To: Eli Zaretskii <eliz@gnu.org>, 42663@debbugs.gnu.org
Subject: bug#42663: 28.0.50; rectangle-mark-mode does not behave as documented when transient-mark-mode is off
Date: Mon, 27 Dec 2021 13:04:07 -0700 [thread overview]
Message-ID: <87a6glzufc.fsf@melete.silentflame.com> (raw)
In-Reply-To: <83r1a1qft3.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 1713 bytes --]
Hello,
On Sat 25 Dec 2021 at 09:55AM +02, Eli Zaretskii wrote:
>> --- a/doc/emacs/killing.texi
>> +++ b/doc/emacs/killing.texi
>> @@ -923,11 +923,11 @@ Rectangles
>> @findex rectangle-mark-mode
>> The command @kbd{C-x @key{SPC}} (@code{rectangle-mark-mode}) toggles
>> whether the region-rectangle or the standard region is highlighted
>> -(first activating the region if necessary). When this mode is enabled,
>> -commands that resize the region (@kbd{C-f}, @kbd{C-n} etc.)@: do
>> -so in a rectangular fashion, and killing and yanking operate on the
>> -rectangle. @xref{Killing}. The mode persists only as long as the
>> -region is active.
>> +(first activating the region if necessary, unless Transient Mark mode
>> +is off). When this mode is enabled, commands that resize the region
>> +(@kbd{C-f}, @kbd{C-n} etc.)@: do so in a rectangular fashion, and
>> +killing and yanking operate on the rectangle. @xref{Killing}. The
>> +mode persists until the next time the region becomes inactive.
>
> The new text is IMO not accurate, because toggling the mode doesn't
> depend on Transient Mark mode. It's the "active mark" state that
> depends on Transient Mark mode, in the sense that the mark doesn't
> automatically become active when Transient Mark mode is off and
> set-mark-command or push-mark is called.
>
> So I think a better documentation change would be to say that
> rectangle mark mode only works when the mark is active, and point to
> "Disabled Transient Mark" node of the manual for how to do that when
> Transient Mark mode is off. This should probably be a separate
> paragraph, after the current text.
Yes, that's better, thank you.
Revised patch enclosed.
--
Sean Whitton
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: v2-0001-Improve-rectangle-mark-mode-documentation-regardi.patch --]
[-- Type: text/x-patch, Size: 2945 bytes --]
From 6b7d5550ce7a5b72712730248f9d8f07f15e7483 Mon Sep 17 00:00:00 2001
From: Sean Whitton <spwhitton@spwhitton.name>
Date: Mon, 27 Dec 2021 12:58:25 -0700
Subject: [PATCH v2] Improve rectangle-mark-mode documentation regarding mark
activation
* doc/emacs/killing.texi: Describe how rectangle-mark-mode works when
Transient Mark mode is off. Qualify discussion of
rectangle-exchange-point-and-mark to say that it cycles the four
corners only when the region is active.
* lisp/rect.el (rectangle-mark-mode): State that rectangle-mark-mode
does not activate the mark when Transient Mark mode is off. Reword
sentence about how long the mode lasts to account for when Transient
Mark mode is off.
---
doc/emacs/killing.texi | 16 +++++++++++-----
lisp/rect.el | 3 ++-
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 375ac970d7..3815c0fef6 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -929,6 +929,11 @@ Rectangles
rectangle. @xref{Killing}. The mode persists only as long as the
region is active.
+The region-rectangle works only when the mark is active. In
+particular, when Transient Mark mode is off (@pxref{Disabled Transient
+Mark}), in addition to typing @kbd{C-x @key{SPC}} you will need to
+activate the mark.
+
Unlike the standard region, the region-rectangle can have its corners
extended past the end of buffer, or inside stretches of white space
that point normally cannot enter, like in the middle of a TAB
@@ -937,11 +942,12 @@ Rectangles
@findex rectangle-exchange-point-and-mark
@findex exchange-point-and-mark@r{, in rectangle-mark-mode}
@kindex C-x C-x@r{, in rectangle-mark-mode}
-When the region is in rectangle-mark-mode, @kbd{C-x C-x} runs the
-command @code{rectangle-exchange-point-and-mark}, which cycles between
-the four corners of the region-rectangle. This comes in handy if you
-want to modify the dimensions of the region-rectangle before invoking
-an operation on the marked text.
+When the region is active (@pxref{Mark}) and in rectangle-mark-mode,
+@kbd{C-x C-x} runs the command
+@code{rectangle-exchange-point-and-mark}, which cycles between the
+four corners of the region-rectangle. This comes in handy if you want
+to modify the dimensions of the region-rectangle before invoking an
+operation on the marked text.
@node CUA Bindings
@section CUA Bindings
diff --git a/lisp/rect.el b/lisp/rect.el
index d288adfbaf..80f992e182 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -651,7 +651,8 @@ rectangle-mark-mode-map
(define-minor-mode rectangle-mark-mode
"Toggle the region as rectangular.
-Activates the region if needed. Only lasts until the region is deactivated."
+Activates the region if it's inactive and Transient Mark mode is
+on. Only lasts until the region is next deactivated."
:lighter nil
(rectangle--reset-crutches)
(when rectangle-mark-mode
--
2.30.2
next prev parent reply other threads:[~2021-12-27 20:04 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87sfuh1y3h.fsf@melete.silentflame.com>
2021-12-25 7:55 ` bug#42663: 28.0.50; rectangle-mark-mode does not behave as documented when transient-mark-mode is off Eli Zaretskii
2021-12-27 20:04 ` Sean Whitton [this message]
2021-12-28 17:40 ` Eli Zaretskii
2020-08-02 4:19 Sean Whitton
2020-08-02 14:12 ` Eli Zaretskii
2020-09-22 15:46 ` Lars Ingebrigtsen
2021-12-24 21:41 ` Sean Whitton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a6glzufc.fsf@melete.silentflame.com \
--to=spwhitton@spwhitton.name \
--cc=42663@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.