* Make <delete> save the deleted text into the killing ring
@ 2022-12-13 11:12 aitor
2022-12-14 11:23 ` aitor
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: aitor @ 2022-12-13 11:12 UTC (permalink / raw)
To: help-gnu-emacs
Hi,
<delete> char is bound to `delete-forward-char` which does not save the
deleted text into the kill ring by default. How can I change this
behavior and make <delete> actually save the killed text into the ring?
--
aitor
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-13 11:12 Make <delete> save the deleted text into the killing ring aitor
@ 2022-12-14 11:23 ` aitor
2022-12-14 17:44 ` Emanuel Berg
2022-12-14 20:17 ` Gregory Heytings
2022-12-15 6:14 ` Eli Zaretskii
2 siblings, 1 reply; 16+ messages in thread
From: aitor @ 2022-12-14 11:23 UTC (permalink / raw)
To: help-gnu-emacs
> <delete> char is bound to `delete-forward-char` which does not save the
> deleted text into the kill ring by default. How can I change this
> behavior and make <delete> actually save the killed text into the ring?
So I've tried stuff like:
(global-set-key [delete]
(lambda (n)
(interactive "p")
(delete-forward-char n t)))
but no luck, the deleted does not appear in the kill ring.
best,
aitor
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-14 11:23 ` aitor
@ 2022-12-14 17:44 ` Emanuel Berg
2022-12-14 19:52 ` John Haman
0 siblings, 1 reply; 16+ messages in thread
From: Emanuel Berg @ 2022-12-14 17:44 UTC (permalink / raw)
To: help-gnu-emacs
aitor wrote:
>> <delete> char is bound to `delete-forward-char` which does
>> not save the deleted text into the kill ring by default.
>> How can I change this behavior and make <delete> actually
>> save the killed text into the ring?
>
> So I've tried stuff like:
>
> (global-set-key [delete]
> (lambda (n)
> (interactive "p")
> (delete-forward-char n t)))
>
> but no luck, the deleted does not appear in the kill ring.
Is this a good idea? Why?
But if you want it, make a command, i.e. an interactive defun
that does it, when it works, bind it to a key ...
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-14 17:44 ` Emanuel Berg
@ 2022-12-14 19:52 ` John Haman
2022-12-14 19:58 ` Emanuel Berg
0 siblings, 1 reply; 16+ messages in thread
From: John Haman @ 2022-12-14 19:52 UTC (permalink / raw)
To: help-gnu-emacs
The function `delete-forward-char' takes an optional argument, killflag.
Maybe OP could use something like
```emacs-lisp
(define-key global-map (kbd "<delete>") #'(lambda ()
(interactive)
(delete-forward-char 1 t)))
```
--
Dr. John Haman
Maryland, USA
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-14 19:52 ` John Haman
@ 2022-12-14 19:58 ` Emanuel Berg
0 siblings, 0 replies; 16+ messages in thread
From: Emanuel Berg @ 2022-12-14 19:58 UTC (permalink / raw)
To: help-gnu-emacs
John Haman wrote:
> The function `delete-forward-char' takes an optional
> argument, killflag. Maybe OP could use something like
>
> (define-key global-map (kbd "<delete>") #'(lambda ()
> (interactive)
> (delete-forward-char 1 t)))
Yes, but then you brake the interface, in particular the
N argument which is now hardcoded to 1, so it's better with
a wrapper function which offers a transparent interface - i.e.
the same, except it defaults to t instead for KILLFLAG ...
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-13 11:12 Make <delete> save the deleted text into the killing ring aitor
2022-12-14 11:23 ` aitor
@ 2022-12-14 20:17 ` Gregory Heytings
2022-12-14 20:43 ` Emanuel Berg
2022-12-15 8:40 ` aitor
2022-12-15 6:14 ` Eli Zaretskii
2 siblings, 2 replies; 16+ messages in thread
From: Gregory Heytings @ 2022-12-14 20:17 UTC (permalink / raw)
To: aitor; +Cc: help-gnu-emacs
>
> <delete> char is bound to `delete-forward-char` which does not save the
> deleted text into the kill ring by default. How can I change this
> behavior and make <delete> actually save the killed text into the ring?
>
(defun kill-forward-char (n)
(interactive "p")
(let ((delete-active-region 'kill))
(delete-forward-char n t)))
(global-set-key [delete] #'kill-forward-char)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-14 20:17 ` Gregory Heytings
@ 2022-12-14 20:43 ` Emanuel Berg
2022-12-15 8:40 ` aitor
1 sibling, 0 replies; 16+ messages in thread
From: Emanuel Berg @ 2022-12-14 20:43 UTC (permalink / raw)
To: help-gnu-emacs
Gregory Heytings wrote:
>> <delete> char is bound to `delete-forward-char` which does
>> not save the deleted text into the kill ring by default.
>> How can I change this behavior and make <delete> actually
>> save the killed text into the ring?
>
> (defun kill-forward-char (n)
> (interactive "p")
> (let ((delete-active-region 'kill))
> (delete-forward-char n t)))
>
> (global-set-key [delete] #'kill-forward-char)
Yes, correct method 100% ...
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-13 11:12 Make <delete> save the deleted text into the killing ring aitor
2022-12-14 11:23 ` aitor
2022-12-14 20:17 ` Gregory Heytings
@ 2022-12-15 6:14 ` Eli Zaretskii
2022-12-15 6:15 ` Emanuel Berg
2022-12-15 8:31 ` aitor
2 siblings, 2 replies; 16+ messages in thread
From: Eli Zaretskii @ 2022-12-15 6:14 UTC (permalink / raw)
To: help-gnu-emacs
> From: aitor <a.soroa@gmail.com>
> Date: Tue, 13 Dec 2022 12:12:15 +0100
>
> <delete> char is bound to `delete-forward-char` which does not save the
> deleted text into the kill ring by default. How can I change this
> behavior and make <delete> actually save the killed text into the ring?
Any reason why you think you need that? Doing so will fill the
kill-ring with meaningless single-character entries. You have 'undo',
which can undelete the deleted text, so why do you want to put every
single character you delete in the kill-ring?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-15 6:14 ` Eli Zaretskii
@ 2022-12-15 6:15 ` Emanuel Berg
2022-12-15 8:31 ` aitor
1 sibling, 0 replies; 16+ messages in thread
From: Emanuel Berg @ 2022-12-15 6:15 UTC (permalink / raw)
To: help-gnu-emacs
Eli Zaretskii wrote:
>> <delete> char is bound to `delete-forward-char` which does
>> not save the deleted text into the kill ring by default.
>> How can I change this behavior and make <delete> actually
>> save the killed text into the ring?
>
> Any reason why you think you need that? Doing so will fill
> the kill-ring with meaningless single-character entries.
> You have 'undo', which can undelete the deleted text, so why
> do you want to put every single character you delete in the
> kill-ring?
So he can verify it's a bad idea ...
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-15 6:14 ` Eli Zaretskii
2022-12-15 6:15 ` Emanuel Berg
@ 2022-12-15 8:31 ` aitor
2022-12-15 9:04 ` Eli Zaretskii
1 sibling, 1 reply; 16+ messages in thread
From: aitor @ 2022-12-15 8:31 UTC (permalink / raw)
To: help-gnu-emacs
On Thu, Dec 15, 2022 at 08:14:21AM +0200, Eli Zaretskii wrote:
> > <delete> char is bound to `delete-forward-char` which does not save the
> > deleted text into the kill ring by default. How can I change this
> > behavior and make <delete> actually save the killed text into the ring?
>
> Any reason why you think you need that? Doing so will fill the
> kill-ring with meaningless single-character entries. You have 'undo',
> which can undelete the deleted text, so why do you want to put every
> single character you delete in the kill-ring?
I usually select portions of text using shift+arrow keys, and then
delete them by pressing <delete>. Often, I find myself wanting to yank
the deleted text into another place (using C-y or shift-insert), but as
said 'delete-forward-char' doesn't save it in the kill ring.
I know that I can kill the selected text with C-w instead of <delete>,
thus saving the text into the ring, but my muscle memory is somehow used
to the <delete> key.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-14 20:17 ` Gregory Heytings
2022-12-14 20:43 ` Emanuel Berg
@ 2022-12-15 8:40 ` aitor
2022-12-15 8:48 ` Emanuel Berg
1 sibling, 1 reply; 16+ messages in thread
From: aitor @ 2022-12-15 8:40 UTC (permalink / raw)
To: Gregory Heytings; +Cc: help-gnu-emacs
On Wed, Dec 14, 2022 at 08:17:45PM +0000, Gregory Heytings wrote:
>
> >
> > <delete> char is bound to `delete-forward-char` which does not save the
> > deleted text into the kill ring by default. How can I change this
> > behavior and make <delete> actually save the killed text into the ring?
> >
>
> (defun kill-forward-char (n)
> (interactive "p")
> (let ((delete-active-region 'kill))
> (delete-forward-char n t)))
>
> (global-set-key [delete] #'kill-forward-char)
This works like a charm. Thank you!
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-15 8:40 ` aitor
@ 2022-12-15 8:48 ` Emanuel Berg
0 siblings, 0 replies; 16+ messages in thread
From: Emanuel Berg @ 2022-12-15 8:48 UTC (permalink / raw)
To: help-gnu-emacs
aitor wrote:
>>> <delete> char is bound to `delete-forward-char` which does
>>> not save the deleted text into the kill ring by default.
>>> How can I change this behavior and make <delete> actually
>>> save the killed text into the ring?
>>
>> (defun kill-forward-char (n)
>> (interactive "p")
>> (let ((delete-active-region 'kill))
>> (delete-forward-char n t)))
>>
>> (global-set-key [delete] #'kill-forward-char)
>
> This works like a charm. Thank you!
*char
The method ... it's done like that.
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-15 8:31 ` aitor
@ 2022-12-15 9:04 ` Eli Zaretskii
2022-12-15 10:18 ` Thibaut Verron
0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2022-12-15 9:04 UTC (permalink / raw)
To: help-gnu-emacs
> Date: Thu, 15 Dec 2022 09:31:43 +0100
> From: aitor <aitors2005@gmail.com>
>
> > Any reason why you think you need that? Doing so will fill the
> > kill-ring with meaningless single-character entries. You have 'undo',
> > which can undelete the deleted text, so why do you want to put every
> > single character you delete in the kill-ring?
>
> I usually select portions of text using shift+arrow keys, and then
> delete them by pressing <delete>.
Then press "C-u <delete>" instead. That will allow you to control
when the deleted text goes to the kill-ring and when not. Doing that
by default makes little sense, because <delete> is also used to delete
single characters or very short stretches of text.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-15 9:04 ` Eli Zaretskii
@ 2022-12-15 10:18 ` Thibaut Verron
2022-12-15 10:24 ` Gregory Heytings
0 siblings, 1 reply; 16+ messages in thread
From: Thibaut Verron @ 2022-12-15 10:18 UTC (permalink / raw)
To: Eli Zaretskii, help-gnu-emacs
On 15/12/2022 10:04, Eli Zaretskii wrote:
>> Date: Thu, 15 Dec 2022 09:31:43 +0100
>> From: aitor <aitors2005@gmail.com>
>>
>>> Any reason why you think you need that? Doing so will fill the
>>> kill-ring with meaningless single-character entries. You have 'undo',
>>> which can undelete the deleted text, so why do you want to put every
>>> single character you delete in the kill-ring?
>> I usually select portions of text using shift+arrow keys, and then
>> delete them by pressing <delete>.
> Then press "C-u <delete>" instead. That will allow you to control
> when the deleted text goes to the kill-ring and when not. Doing that
> by default makes little sense, because <delete> is also used to delete
> single characters or very short stretches of text.
One could also have a delete function which saves to the kill ring only
when the region is active. This should keep most short deletions out.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-15 10:18 ` Thibaut Verron
@ 2022-12-15 10:24 ` Gregory Heytings
2022-12-15 10:46 ` Emanuel Berg
0 siblings, 1 reply; 16+ messages in thread
From: Gregory Heytings @ 2022-12-15 10:24 UTC (permalink / raw)
To: Thibaut Verron; +Cc: help-gnu-emacs
>
> One could also have a delete function which saves to the kill ring only
> when the region is active.
>
That's already what delete-forward-char does (when delete-active-region is
'kill).
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Make <delete> save the deleted text into the killing ring
2022-12-15 10:24 ` Gregory Heytings
@ 2022-12-15 10:46 ` Emanuel Berg
0 siblings, 0 replies; 16+ messages in thread
From: Emanuel Berg @ 2022-12-15 10:46 UTC (permalink / raw)
To: help-gnu-emacs
Gregory Heytings wrote:
>> One could also have a delete function which saves to the
>> kill ring only when the region is active.
>
> That's already what delete-forward-char does (when
> delete-active-region is 'kill).
Relax - everything is taken cared of ...
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2022-12-15 10:46 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-13 11:12 Make <delete> save the deleted text into the killing ring aitor
2022-12-14 11:23 ` aitor
2022-12-14 17:44 ` Emanuel Berg
2022-12-14 19:52 ` John Haman
2022-12-14 19:58 ` Emanuel Berg
2022-12-14 20:17 ` Gregory Heytings
2022-12-14 20:43 ` Emanuel Berg
2022-12-15 8:40 ` aitor
2022-12-15 8:48 ` Emanuel Berg
2022-12-15 6:14 ` Eli Zaretskii
2022-12-15 6:15 ` Emanuel Berg
2022-12-15 8:31 ` aitor
2022-12-15 9:04 ` Eli Zaretskii
2022-12-15 10:18 ` Thibaut Verron
2022-12-15 10:24 ` Gregory Heytings
2022-12-15 10:46 ` Emanuel Berg
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).