all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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


  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.