help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mark set by ‘mark-*’ not deactivated by point motion


From: Stefan Monnier
Subject: Re: Mark set by ‘mark-*’ not deactivated by point motion
Date: Mon, 17 Sep 2018 15:18:52 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

> Observed behavior: point moves as commanded, mark remains active.
> Expected behavior: point moves, mark is deactivated.

Could you clarify what would be the benefit of the behavior you expect
(other than fitting your expectation, obviously ;-)?

> Pre-emptive counterarguments:

I'm more wondering about why you'd mark a word with M-@ only to
immediately afterwards deactivate the region.

I never use M-@ but I use C-M-SPC all the time, and very often I do
C-M-SPC (maybe repeated a few times) followed by some cursor motion
(including C-x C-x sometimes) to "fine tune" the boundaries of the
active region.

So I rely on this behavior very frequently and I find it rather
convenient not to have to re-activate the mark explicitly when I'm done
tuning its boundaries.

On the contrary, I find the deactivate-mark behavior of
"navigation after shifted-navigation" to be a mis-feature: it forces me
to be careful to keep the shift key pressed until I'm really done
setting up the region and it prevents me from using navigation commands
which I can't use in a shifted form (or which don't (yet) support
shift-select-mode).  I don't mind very much, tho: I just use C-SPC
instead, but I think in terms of UI, navigation should never deactivate
the mark.

I have the impression that this behavior was simply copied from other
applications, and those don't have something equivalent to Emacs's C-g,
so their users are used to making a dummy un-shifted cursor movement
when they just want to deactivate the selection.  But in Emacs we have
C-g for that.


        Stefan


[ Side comment.  Emacs made the opposite choice for undo: when you want
  to start redoing, you need to perform some dummy non-undo command
  because there's no dedicated key-binding to switch between undo
  and redo.  ]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]