unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Tomas Nordin <tomasn@posteo.net>
Cc: 29346@debbugs.gnu.org
Subject: bug#29346: dwim transpose-subr opportunity?
Date: Sat, 18 Nov 2017 09:48:10 +0200	[thread overview]
Message-ID: <83bmk0gh8l.fsf@gnu.org> (raw)
In-Reply-To: <87a7zkwooy.fsf@fliptop> (message from Tomas Nordin on Fri, 17 Nov 2017 23:00:29 +0100)

> From: Tomas Nordin <tomasn@posteo.net>
> Date: Fri, 17 Nov 2017 23:00:29 +0100
> 
> @@ -6967,7 +6967,7 @@ transpose-subr
>                        (progn (funcall mover (- x)) (point))))))
>         pos1 pos2)
>      (cond
> -     ((= arg 0)
> +     ((or (= arg 0) (use-region-p))
>        (save-excursion
>         (setq pos1 (funcall aux 1))
>         (goto-char (or (mark) (error "No mark set in this buffer")))
> 
> 
> The intention is that a 0 number prefix argument is not necessary if
> there is a region so that use-region-p is non-nil. I have tried it in
> some various ways and to me it seem to work, but I don't know all the
> delicate ways in which those commands might be used. What do you think?

I think this would be a source of inadvertent mistakes and
annoyances.  Transient Mark mode is on by default, which means M-t can
frequently do something the user didn't intend it to, just because the
region happened to be active.  A similar situation exists with typing
DEL when the region is active, but at least in that case we behave
like many GUI applications out there, so we can hope the user is ready
for that and expects that to happen.  (I'm never ready, which is
probably the reason why I turn Transient Mark mode off.)  With M-t, we
don't have that defense.

> It gets a bit silly as suggested though, I guess the logic should be
> something like (or (= arg 0) (and transpose-dwim (use-region-p)))

Maybe.  But I wonder why this relatively rare use case is so important
as to mandate a new defcustom, whose only purpose is to save the user
from typing M-0 or "C-u 0".  Just because people didn't read the doc
string and therefore didn't know about the special meaning of an
argument of zero?  But then they will not know about the proposed
magic, either.

Thanks.





  reply	other threads:[~2017-11-18  7:48 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-17 22:00 bug#29346: dwim transpose-subr opportunity? Tomas Nordin
2017-11-18  7:48 ` Eli Zaretskii [this message]
2017-11-18 13:35   ` Tomas Nordin
2017-11-18 14:45     ` Eli Zaretskii
2017-11-26 13:54       ` Tomas Nordin
2020-08-10 14:10   ` Lars Ingebrigtsen
2017-11-25 11:51 ` bug#29346: dwim transpose-subr opportunity new suggestion Tomas Nordin

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=83bmk0gh8l.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=29346@debbugs.gnu.org \
    --cc=tomasn@posteo.net \
    /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).