emacs-devel
[Top][All Lists]
Advanced

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

Re: delete-selection-mode


From: Juri Linkov
Subject: Re: delete-selection-mode
Date: Thu, 25 Mar 2010 09:07:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (x86_64-pc-linux-gnu)

>> Maybe these settings should be moved to simple.el:
>
>> (put 'self-insert-command 'delete-selection t)
>> (put 'self-insert-iso 'delete-selection t)
>> (put 'yank 'delete-selection 'yank)
>> (put 'clipboard-yank 'delete-selection 'yank)
>> (put 'insert-register 'delete-selection t)
>> (put 'delete-backward-char 'delete-selection 'supersede)
>> (put 'backward-delete-char-untabify 'delete-selection 'supersede)
>> (put 'delete-char 'delete-selection 'supersede)
>> (put 'newline-and-indent 'delete-selection t)
>> (put 'newline 'delete-selection t)
>> (put 'open-line 'delete-selection 'kill)
>
>> so `handle-delete-region' could use them.
>
> Just as for shift-select-mode, I'd rather not use symbol properties to
> put this information, because it's a property of the command, not of
> its name.

This means introducing 4 new `interactive' code letters for:

;;  'yank
;;      For commands which do a yank; ensures the region about to be
;;      deleted isn't yanked.
;;  'supersede
;;      Delete the active region and ignore the current command,
;;      i.e. the command will just delete the region.
;;  'kill
;;      `kill-region' is used on the selection, rather than
;;      `delete-region'.  (Text selected with the mouse will typically
;;      be yankable anyhow.)
;;  non-nil
;;      The normal case: delete the active region prior to executing
;;      the command which will insert replacement text.

But we are short of available code letters.  And it's not clear
how to choose a letter with good mnemonics for their effects.

-- 
Juri Linkov
http://www.jurta.org/emacs/




reply via email to

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