unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Jim Porter <jporterbugs@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map
Date: Sat, 01 May 2021 13:20:06 -0400	[thread overview]
Message-ID: <jwvmtte2x6m.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <CANh=_JFy4vAmedtBMy6EW6Ri-nNB09jpGkVYf4h2mYBahZ+QhA@mail.gmail.com> (Jim Porter's message of "Sat, 1 May 2021 09:02:51 -0700")

> Perhaps it makes sense to bind `C-k' in `rectangle-mark-mode'? It
> seems to be similar to `C-o' and `C-t' in that there are non-rect
> bindings that already do something different, but they aren't
> particularly relevant in `rectangle-mark-mode'.

I don't have an opinion on that.

>> >   C-x r d         delete-rectangle
>>
>> For `delete-rectangle` we already have `delete-region`, and it operates
>> on the rectangle when `rectangle-mark-mode` is active.
>> It is not bound by default, but DEL (aka `backspace`) does delegate to
>> it by default when the region is active.
>
> Interesting, I didn't know that! I'd tried `M-x delete-region' (and
> Edit -> Clear from the menu bar) and it deleted the whole,
> non-rectangular region. Perhaps that's just a bug, since `M-x
> kill-region' operates on the rect correctly.

Oh, no, you're right: it's not done in `delete-region` (which is
a fairly low-level function and hence not ideal to piggy-back such
high-level UI functionality), but in `backward-delete-char-untabify`.
Whether it kills or deletes (or just does the good old backspace)
depends on `delete-active-region`.

>> This said, I do think the way yanking rectangles works currently is not
>> fully satisfactory, because it's not always clear/intuitive how where
>> the rectangle will get inserted.  So maybe we do need a special yank
>> command active during `rectangle-mark-mode` which replaces the selected
>> rectangle with the yanked one, or something like that.
>
> I agree. Once I tinkered with yanking rectangles a bit, it (mostly)
> made sense to me, but instinctively, I wanted to select the rect to
> yank into first. That works as you'd expect when the point is at the
> beginning of the rect but not when it's at the end. I'm not sure what
> I'd want to change though, since it works the same as yanking when you
> have a non-rectangular region selected too.

There's an argument to be made for making `C-y` replace the region
when active, as well, indeed.


        Stefan




  reply	other threads:[~2021-05-01 17:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-01  5:23 [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map Jim Porter
2021-05-01 13:29 ` Stefan Monnier
2021-05-01 16:02   ` Jim Porter
2021-05-01 17:20     ` Stefan Monnier [this message]
2021-05-01 22:31       ` Jim Porter
2021-05-02  6:57         ` Eli Zaretskii
2021-05-02 15:48           ` Jim Porter
2021-05-02 16:09             ` Eli Zaretskii
2021-05-02 16:36               ` Jim Porter
2021-05-02 18:07                 ` Stefan Monnier
2021-05-03  4:06                   ` Jim Porter
2021-05-03  7:55                     ` Andreas Schwab
2021-05-03 15:26                       ` Jim Porter
2021-05-08  1:52                         ` Stefan Monnier
2021-05-08  7:15                           ` Eli Zaretskii
2021-05-08  6:55                         ` Andreas Schwab
2021-05-08 18:57                           ` [PATCH] Improve docstring for delete-active-region (was Re: [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map) Jim Porter
2021-06-18  3:09                             ` Jim Porter
2021-06-19 12:27                               ` Lars Ingebrigtsen
2021-06-19 16:28                                 ` Jim Porter
2021-05-01 17:26     ` [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map Ergus

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvmtte2x6m.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=jporterbugs@gmail.com \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).