Subject: Re: bug#37700: 27.0.50; undo mouse-drag-and-drop-region ineffective

From: Eli Zaretskii <[email-masked]>
Date: Fri, 11 Oct 2019 21:36:05 +0300

> From: Mattias Engdegård <[email-masked]>
> Date: Fri, 11 Oct 2019 19:18:51 +0200
> Cc: martin rudalics <[email-masked]>, [email-masked]
> 
> 11 okt. 2019 kl. 16.43 skrev Eli Zaretskii <[email-masked]>:
> > 
> > Given that the region can be easily deactivated, I'm not sure I see
> > the sense in introducing options that selectively disable
> > region-sensitive behavior of specific commands.
> 
> When the user doesn't like the result of an operation, be it a change of mind or a mistake, the first logical reaction is to undo. Many users if not most are unaware that undo in Emacs is restricted to an active region, and even if they know, they are not likely to think of it before instinctively pressing the well-learned undo key.
> 
> One reason is that no other editor works like this; another is that almost all other operations that can be undone either deactivate the region or take place wholly inside it, so there is no reason for the user to care about that quirk.
> 
> Moreover, users are often aware from experience with other software that the time to undo an action is immediately afterwards, with no other potentially inhibiting action in-between. Requiring a specific undo-enabling action is therefore doubly hostile.

You are arguing that 'undo' should never be sensitive to the active
region.  If that was so, we'd have gobs of bug reports, because this
behavior is quite old, since 2007 AFAICT.

So evidently this feature is not as hostile as you seem to imply.
Moreover, the situation is not irrecoverable, even if the user does
make mistakes you describe: one can undo the undo, then disable the
region, and undo again.

Your change, however, was for an option that would disable this
behavior only optionally, not altogether.  And my response was to the
idea that we should have knobs that selectively disable
region-sensitive behavior of specific commands one by one.  I still
maintain that doing that for individual commands makes little sense to
me.