unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: hw <hw@adminart.net>, "Clément Pit-Claudel" <cpitclaudel@gmail.com>
Cc: emacs-devel@gnu.org
Subject: RE: delete-selection-mode as default
Date: Fri, 7 Sep 2018 09:27:04 -0700 (PDT)	[thread overview]
Message-ID: <2864b863-7710-4631-86ae-04923e32d516@default> (raw)
In-Reply-To: <87mustqugw.fsf@toy.adminart.net>

> I call it a design flaw because if whoever made it this way had given
> any thought to it, it would at least be customizable

Actually, beyond being customizable by configuring it to be on or
off by default, it is customizable (but not just by using Customize),
in a fine-grained way.

You can easily configure the behavior to use for any given command,
by putting a particular `delete-selection' property value on its symbol.

These are the possible `delete-selection' property values:

* `yank' - For commands that do a yank.  Ensures that the region
about to be deleted is not yanked.

* `supersede' - Delete the active region and ignore the current
command: the command just deletes the region.

* `kill' - `kill-region' is used on the selection, rather than
`delete-region'.  (Text selected with the mouse is
typically yankable anyway.)

* anything else non-nil - Deletes the active region prior to
executing the command, which inserts replacement
text.  This is the usual case.

Commands that insert text but do not have property
`delete-selection' (or commands for which it's value is nil)
do not delete the selection.

For example: 

;; Don't let `insert-char' delete the selection.
(put 'insert-char 'delete-selection nil)

More typically is the case where a library defines a new
editing command that it wants to make susceptible to
`delete-selection-mode'. For example:

;; Let delete-selection mode delete the region. 
(put 'icicle-delete-char 'delete-selection 'supersede)

Simple, elegant command-specific behavior. Trivial to
configure - for both users and libraries.



  reply	other threads:[~2018-09-07 16:27 UTC|newest]

Thread overview: 253+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-07  0:32 delete-selection-mode as default (WAS: Some developement questions) Noam Postavsky
2018-09-07  0:35 ` Drew Adams
2018-09-07  6:47 ` Eli Zaretskii
2018-09-07  9:18   ` delete-selection-mode as default hw
2018-09-07 13:16     ` Clément Pit-Claudel
2018-09-07 13:28       ` Robert Pluim
2018-09-07 13:47         ` Dmitry Gutov
2018-09-07 13:50         ` Eli Zaretskii
2018-09-07 14:16           ` Robert Pluim
2018-09-07 16:02             ` Drew Adams
2018-09-07 17:08               ` Robert Pluim
2018-09-07 20:28                 ` Jostein Kjønigsen
2018-09-07 14:22           ` Stefan Monnier
2018-09-08 23:11             ` Juri Linkov
2018-09-09  5:49               ` Eli Zaretskii
2018-09-09 16:16                 ` Juri Linkov
2018-09-09 14:22               ` Drew Adams
2018-09-16 23:34             ` Juri Linkov
2018-09-17  0:36               ` Drew Adams
2018-09-17 22:37                 ` Juri Linkov
2018-09-17 23:12                   ` Drew Adams
2018-09-17 23:21                     ` Juri Linkov
2018-09-17 23:36                       ` Drew Adams
2018-09-19  6:53                   ` Jostein Kjønigsen
2018-09-19 22:44                     ` Juri Linkov
2018-09-07 14:39       ` hw
2018-09-07 16:27         ` Drew Adams [this message]
2018-09-08 17:37         ` Clément Pit-Claudel
2018-09-09  5:15           ` hw
2018-09-08  5:14       ` Richard Stallman
2018-09-08 11:32         ` Elias Mårtenson
2018-09-08 14:01           ` Eli Zaretskii
2018-09-08 15:52           ` hw
2018-09-08 19:31             ` Charles A. Roelli
2018-09-09  3:19               ` Drew Adams
2018-09-09  6:08               ` Richard Stallman
2018-09-09 14:48                 ` Drew Adams
2018-09-10 11:50                   ` hw
2018-09-11  4:25                     ` Richard Stallman
2018-09-10  7:52                 ` hw
2018-09-10 11:52               ` visual-region-mode? (was: delete-selection-mode as default) hw
2018-09-10 20:02                 ` Charles A. Roelli
2018-09-11  5:43                   ` Yuri Khan
2018-09-11 18:25                     ` Charles A. Roelli
2018-09-12  5:12                       ` Yuri Khan
2018-09-12  6:59                         ` visual-region-mode? Andreas Schwab
2018-09-12  7:12                           ` visual-region-mode? Yuri Khan
2018-09-12  7:44                             ` visual-region-mode? Andreas Schwab
2018-09-12 18:31                         ` visual-region-mode? (was: delete-selection-mode as default) Charles A. Roelli
2018-09-16 22:55                     ` visual-region-mode? Juri Linkov
2018-09-11 21:56                   ` visual-region-mode? hw
2018-09-12 19:47                     ` visual-region-mode? Charles A. Roelli
2018-09-12 20:40                       ` visual-region-mode? Drew Adams
2018-09-12 20:50                       ` visual-region-mode? Juri Linkov
2018-09-13  4:01                         ` visual-region-mode? hw
2018-09-13  4:00                       ` visual-region-mode? hw
2018-09-13 17:22                         ` visual-region-mode? Alan Mackenzie
2018-09-13 20:08                           ` visual-region-mode? hw
2018-09-13 20:42                         ` visual-region-mode? Charles A. Roelli
2018-09-15 19:21                           ` visual-region-mode? hw
2018-09-16 19:31                             ` visual-region-mode? Charles A. Roelli
2018-09-17 20:36                               ` visual-region-mode? hw
2018-09-17 22:24                                 ` visual-region-mode? Drew Adams
2018-09-17 23:11                                   ` visual-region-mode? hw
2018-09-18  0:11                                     ` visual-region-mode? Juri Linkov
2018-09-18 12:32                                     ` visual-region-mode? Eli Zaretskii
2018-09-18 19:22                                 ` visual-region-mode? Charles A. Roelli
2018-09-19  1:45                                   ` visual-region-mode? hw
2018-09-19 19:22                                     ` visual-region-mode? Charles A. Roelli
2018-09-19 20:04                                       ` visual-region-mode? hw
2018-09-20 18:14                                         ` visual-region-mode? Charles A. Roelli
2018-09-21 20:28                                           ` visual-region-mode? hw
2018-09-24 17:42                                             ` visual-region-mode? Charles A. Roelli
2018-09-24 18:07                                               ` visual-region-mode? Yuri Khan
2018-09-29 11:18                                                 ` visual-region-mode? Charles A. Roelli
2018-10-03 13:13                                                   ` visual-region-mode? hw
2018-10-04 20:20                                                     ` visual-region-mode? Charles A. Roelli
2018-09-26 22:00                                               ` visual-region-mode? hw
2018-09-27 21:01                                                 ` visual-region-mode? Charles A. Roelli
2018-10-03 13:59                                                   ` visual-region-mode? hw
2018-09-24 20:24                                             ` visual-region-mode? Alan Mackenzie
2018-09-26 18:12                                               ` visual-region-mode? Charles A. Roelli
2018-09-26 22:45                                               ` visual-region-mode? hw
2018-09-27 17:26                                                 ` visual-region-mode? Alan Mackenzie
2018-10-03 15:43                                                   ` visual-region-mode? hw
2018-10-03 17:03                                                     ` visual-region-mode? Alan Mackenzie
     [not found]                                             ` <<m2ftxy3i79.fsf@aurox.ch>
2018-09-24 20:39                                               ` visual-region-mode? Drew Adams
2018-09-12 20:27                     ` visual-region-mode? Juri Linkov
2018-09-08 18:16           ` delete-selection-mode as default Dmitry Gutov
2018-09-09  7:42             ` Elias Mårtenson
2018-09-09 14:25               ` Clément Pit-Claudel
2018-09-07  9:40   ` delete-selection-mode as default (WAS: Some developement questions) Phil Sainty
2018-09-07 13:41     ` Eli Zaretskii
2018-09-08 11:37       ` Phil Sainty
2018-09-08 14:04         ` Eli Zaretskii
2018-09-07 15:35     ` Drew Adams
2018-09-07 16:16       ` Yuri Khan
2018-09-07 19:01   ` tomas
2018-09-07 19:23     ` Drew Adams
2018-09-07 20:28       ` tomas
2018-09-08 23:19         ` delete-selection-mode as default Juri Linkov
2018-09-09  8:02           ` tomas
2018-09-07 20:33     ` delete-selection-mode as default (WAS: Some developement questions) Noam Postavsky
2018-09-07 21:31       ` tomas
2018-09-10  8:01         ` delete-selection-mode as default Robert Pluim
2018-09-10  8:09           ` tomas
2018-09-09 13:45   ` delete-selection-mode as default (WAS: Some developement questions) Alan Mackenzie
2018-09-09 14:22     ` Clément Pit-Claudel
2018-09-09 15:12     ` Drew Adams
2018-09-10 11:42     ` delete-selection-mode as default Filipp Gunbin
2018-09-09 20:39   ` delete-selection-mode as default (WAS: Some developement questions) Joost Kremers
2018-09-09 22:24     ` Drew Adams
2018-09-10  3:08       ` Phil Sainty
2018-09-10  3:17         ` Drew Adams
2018-09-10  5:15       ` Bingo
2018-09-10 13:34         ` delete-selection-mode as default Stefan Monnier
2018-09-10  8:46       ` hw
2018-09-10 18:16       ` delete-selection-mode as default (WAS: Some developement questions) Alan Mackenzie
2018-09-10 18:35         ` Clément Pit-Claudel
2018-09-10 19:19           ` Alan Mackenzie
2018-09-10 20:36         ` Drew Adams
2018-09-11 22:34           ` delete-selection-mode as default hw
2018-09-12  0:04             ` Drew Adams
2018-09-13  2:58               ` hw
2018-09-12 13:16             ` Alan Mackenzie
2018-09-12 13:41               ` Drew Adams
2018-09-12 14:53                 ` Alan Mackenzie
2018-09-12 15:51               ` Yuri Khan
2018-09-12 15:59                 ` Alan Mackenzie
2018-09-12 16:36                   ` Yuri Khan
2018-09-13  3:59               ` Elias Mårtenson
2018-09-13  4:16               ` hw
2018-09-13 17:46                 ` Alan Mackenzie
2018-09-13 20:32                   ` hw
2018-09-14 10:48                     ` Alan Mackenzie
2018-09-14 13:41                       ` Yuri Khan
2018-09-14 14:03                         ` Alan Mackenzie
2018-09-14 15:37                           ` Yuri Khan
2018-09-14 14:29                         ` Phil Sainty
2018-09-14 14:32                           ` Phil Sainty
2018-09-14 14:33                         ` Eli Zaretskii
2018-09-14 15:23                           ` Drew Adams
2018-09-14 18:49                             ` Eli Zaretskii
2018-09-15 21:20                             ` hw
2018-09-15 22:37                           ` hw
2018-09-16  0:22                             ` Drew Adams
2018-09-16  3:15                               ` hw
2018-09-16  3:34                                 ` Drew Adams
2018-09-16 13:48                                   ` hw
2018-09-16 14:14                                     ` Alan Mackenzie
2018-09-17 21:00                                       ` hw
2018-09-16 15:28                                     ` Yuri Khan
2018-09-16 16:30                                     ` Drew Adams
2018-09-16 16:59                                     ` Eli Zaretskii
2018-09-16 18:20                                       ` Yuri Khan
2018-09-16 18:49                                         ` Eli Zaretskii
2018-09-16 20:17                                         ` Drew Adams
2018-09-17 21:22                                       ` hw
2018-09-18 12:14                                         ` Eli Zaretskii
2018-09-18 23:45                                           ` hw
2018-09-19  5:41                                             ` Eli Zaretskii
2018-09-19 20:09                                               ` hw
     [not found]                                     ` <<831s9tidjc.fsf@gnu.org>
2018-09-16 18:04                                       ` Drew Adams
2018-09-16 18:17                                         ` Eli Zaretskii
     [not found]                                         ` <<83va75gvc8.fsf@gnu.org>
2018-09-16 20:14                                           ` Drew Adams
     [not found]                                       ` <<CAP_d_8VcFjkQQxzgv+XUheE4Q33vNgbuGpGwtv2-dOEBuK7OeQ@mail.gmail.com>
     [not found]                                         ` <<83tvmpgtwe.fsf@gnu.org>
2018-09-16 20:29                                           ` Drew Adams
2018-09-17  5:28                                             ` Yuri Khan
2018-09-16  8:06                                 ` Yuri Khan
2018-09-16 13:36                                   ` hw
2018-09-16 16:48                             ` Eli Zaretskii
2018-09-17 22:11                               ` hw
2018-09-17 22:44                                 ` Drew Adams
2018-09-17 23:30                                   ` hw
2018-09-18 12:31                                 ` Eli Zaretskii
2018-09-18 13:14                                   ` Yuri Khan
2018-09-18 14:14                                     ` Eli Zaretskii
2018-09-18 15:28                                       ` Yuri Khan
2018-09-18 15:37                                         ` Drew Adams
2018-09-18 16:49                                           ` Eli Zaretskii
2018-09-18 16:46                                         ` Eli Zaretskii
2018-09-20  1:46                                     ` Richard Stallman
2018-09-20  5:45                                       ` Yuri Khan
2018-09-19  2:26                                   ` hw
2018-09-19  6:38                                     ` Eli Zaretskii
2018-09-19 20:36                                       ` hw
     [not found]                           ` <<874leq799e.fsf@toy.adminart.net>
     [not found]                             ` <<205df9be-2e5c-4cc4-a13a-7c80eb63bedc@default>
     [not found]                               ` <<87in363zgq.fsf@toy.adminart.net>
     [not found]                                 ` <<aedad52c-aaf1-414d-bc8c-8e7d0284f4c8@default>
     [not found]                             ` <<835zz5ie17.fsf@gnu.org>
     [not found]                               ` <<87musg0wyf.fsf@toy.adminart.net>
     [not found]                                 ` <<83va73f0mv.fsf@gnu.org>
     [not found]                                   ` <<CAP_d_8WFoHecEv-krQmAP0fWVSYXDLWuwdKfXwpcLbkJYYfWJQ@mail.gmail.com>
     [not found]                                     ` <<83musegaf2.fsf@gnu.org>
     [not found]                                       ` <<CAP_d_8VH38kAdG3QZ4EiM_3-S+PVFg=7QyxZP6pZG_mc3Qct5w@mail.gmail.com>
     [not found]                                         ` <<3f242636-6fa4-4e36-a37b-86f1d7088aae@default>
     [not found]                                           ` <<83h8img39b.fsf@gnu.org>
2018-09-18 17:42                                             ` Drew Adams
2018-09-18 18:30                                               ` Eli Zaretskii
2018-09-18 19:15                                                 ` Alan Mackenzie
2018-09-14 15:15                         ` Elias Mårtenson
2018-09-14 14:33                       ` Drew Adams
2018-09-15 21:59                         ` hw
2018-09-15 20:31                       ` hw
2018-09-11 23:30           ` Juri Linkov
2018-09-12  0:13             ` Drew Adams
2018-09-10  7:05     ` delete-selection-mode as default (WAS: Some developement questions) Eli Zaretskii
2018-09-10 13:41       ` delete-selection-mode as default Stefan Monnier
2018-09-10 14:01         ` Eli Zaretskii
2018-09-10 14:19           ` Stefan Monnier
2018-09-10 14:24         ` Drew Adams
     [not found]         ` <<83tvmxo3iy.fsf@gnu.org>
2018-09-10 14:30           ` Drew Adams
2018-09-10 14:54             ` Eli Zaretskii
2018-09-10 16:09             ` Yuri Khan
     [not found]         ` <<<83tvmxo3iy.fsf@gnu.org>
     [not found]           ` <<c7872ab4-8a1b-43bc-aeb4-2d08bc899857@default>
     [not found]             ` <<83muspo12f.fsf@gnu.org>
2018-09-10 15:25               ` Drew Adams
2018-09-11  4:22       ` delete-selection-mode as default (WAS: Some developement questions) Richard Stallman
2018-09-11  7:48         ` Eli Zaretskii
2018-09-12  0:33           ` Richard Stallman
2018-09-11  8:08         ` Eli Zaretskii
2018-09-12  0:33           ` Richard Stallman
2018-09-12 14:07             ` Eli Zaretskii
2018-09-11 12:36         ` delete-selection-mode as default Stefan Monnier
2018-09-11 23:09           ` hw
2018-09-12  0:33           ` Richard Stallman
2018-09-12 13:23             ` Stefan Monnier
2018-09-13  3:33               ` Richard Stallman
     [not found]   ` <<87sh2ih0bp.fsf@fastmail.fm>
     [not found]     ` <<770f48a8-664a-40ae-8e03-19f6aad248b6@default>
     [not found]       ` <<20180910181615.GA4829@ACM>
     [not found]         ` <<ab70ed3e-96a7-446f-be9b-e02130e71927@default>
     [not found]           ` <<874lev3bq4.fsf@toy.adminart.net>
     [not found]             ` <<20180912131602.GA5582@ACM>
     [not found]               ` <<87d0tihxzw.fsf@toy.adminart.net>
     [not found]                 ` <<20180913174640.GB4019@ACM>
     [not found]                   ` <<8736udkuit.fsf@toy.adminart.net>
     [not found]                     ` <<20180914104833.GA4103@ACM>
     [not found]                       ` <<CAP_d_8WpO9+w-W1ZXMyoucUNtofNQ3Bc6Gchmxj6Rgy1nm3FOA@mail.gmail.com>
     [not found]                         ` <<83k1nojgia.fsf@gnu.org>
     [not found]                           ` <<7bed1f76-5bae-44cb-9b22-206b513043be@default>
     [not found]                             ` <<83d0tfkj77.fsf@gnu.org>
2018-09-14 20:57                               ` Drew Adams
2018-09-15  7:50                                 ` Eli Zaretskii
2018-09-15 10:20                                   ` Alan Mackenzie
2018-09-15 10:56                                     ` Eli Zaretskii
2018-09-15 19:44                                     ` Ergus
2018-09-15 20:01                                       ` Eli Zaretskii
2018-09-16  0:29                                         ` Ergus
2018-09-16 16:55                                           ` Eli Zaretskii
2018-09-16 10:52                                       ` Alan Mackenzie
     [not found]                                         ` <3D72B095-01EC-4E7D-90F9-5691AEFE16DC@aol.com>
2018-09-17  2:17                                           ` Alan Mackenzie
2018-09-17  5:46                                             ` Elias Mårtenson
2018-09-17 18:37                                               ` Alan Mackenzie
2018-09-17 19:57                                               ` hw
2018-09-17 22:56                                                 ` Drew Adams
2018-09-15 15:02                                   ` Stefan Monnier
2018-09-15 15:27                                     ` Eli Zaretskii
2018-09-15 18:30                                       ` Stefan Monnier
2018-09-15 20:04                                         ` Eli Zaretskii
2018-09-16  3:14                                     ` Richard Stallman
     [not found]                                 ` <<83zhwji4hx.fsf@gnu.org>
2018-09-17  0:55                                   ` Drew Adams
2018-10-03  0:22                                     ` Richard Stallman
2018-10-03 17:38                                       ` Eli Zaretskii
2018-09-08  5:13 ` delete-selection-mode as default (WAS: Some developement questions) Richard Stallman
2018-09-08 14:54   ` Drew Adams
2018-09-09  1:23     ` Ergus
2018-09-08 17:25   ` Clément Pit-Claudel
2018-09-08 18:08   ` delete-selection-mode as default Stefan Monnier
2018-09-09  6:08     ` Richard Stallman
2018-09-09  7:56       ` Yuri Khan
2018-09-09 14:33       ` Drew Adams
2018-09-10  5:47         ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2018-09-08  3:46 delete-selection-mode as default (WAS: Some developement questions) Bingo
2018-09-08 15:03 ` delete-selection-mode as default hw
2018-09-08 16:15   ` Eli Zaretskii
2018-09-08 23:27     ` hw
2018-09-09  1:15       ` Phil Sainty
2018-09-09  3:33         ` Drew Adams
2018-09-09 17:41         ` hw
2018-09-08 16:31   ` Bingo
2018-09-10  2:33     ` hw

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=2864b863-7710-4631-86ae-04923e32d516@default \
    --to=drew.adams@oracle.com \
    --cc=cpitclaudel@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=hw@adminart.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).