[Top][All Lists]

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

Re: Proposal for DEL to delete the active region

From: Thierry Volpiatto
Subject: Re: Proposal for DEL to delete the active region
Date: Sun, 02 May 2010 08:04:20 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>> Here is a proposal for DEL to delete the region when transient-mark-mode
>> is enabled.  DEL already does this in delete-selection-mode; the idea
>> here is to move this behavior into transient-mark-mode proper.
> The proposal has the property of being straightforward.  I like that.
>> + (defcustom delete-backward-char-delete-region t
> But this doesn't seem right: we're not going to have one such variable
> for delete-backward-char, delete-char, delete-backward-char-untabify,
> and the handful of other commands that
>    grep "'delete-selection 'supersede" lisp/**/*.el
> indicate will want a similar treatment.
>> + (defun delete-backward-char (n killflag)
> [...]
>> +   (interactive "p\nP")
>> +   (unless (integerp n)
>> +     (signal 'wrong-type-argument (list 'integerp n)))
>> +   (cond ((and (use-region-p)
>> +          delete-backward-char-delete-region
>> +          (= n 1))
> the other problem here is that this change also affects calls from Lisp
> rather than only interactive calls.
>         Stefan
> PS: We will want to remove mouse-region-delete-keys and related code
> ASAP since it is at the root of various known bugs (mostly due to the
> fact that it delays the end of the mouse-selection commands to the
> beginning of the next command, so post-command-hooks don't get run at
> the expected time).

Why instead not using C-d to delete region with simple thing like that:

(defun tv-delete-char (arg beg end)
  (interactive "p\nr")
  (if (region-active-p)
      (delete-region beg end)
      (delete-char arg)))

Thierry Volpiatto
Gpg key: http://pgp.mit.edu/

reply via email to

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