Subject: bug#60646: 28.2; delete-selection-mode

From: Eli Zaretskii <[email-masked]>
Date: Sat, 14 Jan 2023 14:34:19 +0200

> Cc: [email-masked], [email-masked], [email-masked]
> From: Kévin Le Gouguec <[email-masked]>
> Date: Sat, 14 Jan 2023 12:51:57 +0100
> 
> >> +1.  I've advocated the same for decades.
> >>
> >> This should have happened when we turned on
> >> `transient-mark-mode' by default.  And both
> >> of those default-behavior changes should
> >> really have happened long before that.
> >
> > I disagree, but we've had this argument before, so please just leave
> > things as they are.
> >
> > Thanks.
> 
> Did we ever go through the length of making the sort of poll we had for
> show-paren-mode?

I think this was discussed in the past, yes.

delete-selection-mode is problematic in that it introduces behavior
that is extremely surprising and annoying to those who are used to the
old-style GUI selections and the Emacs region.  Thus, enabling it by
default is out of the question; we've enabled transient-mark-mode as a
partial nod to those who like the delete-selection-mode style of
replacing text, but other than that, people who want that will have to
enable it manually for the observable future, because we cannot
possibly surprise our veteran users with such behavior.

>  Oh hey, well, (b) might not be off the table after all:
> 
>  > The _only_ problem I personally have with delete-selection-mode is
>  > that it also replaces the region created by the likes of "C-x C-x",
>  > something that "most software out there" does not and cannot do.  If
>  > we were to change delete-selection-mode to replace only highlighted
>  > text created by mouse selections or by shift-selections, I think we
>  > could then enable it by default without much resistance, because
>  > typing a character or DEL after explicitly selecting text is many
>  > orders of magnitude less probable to be a mistake than when we make
>  > the region active by other means.
>  — <[email-masked]>

Note that the DEL part of the above already happens by default.