GNU bug report logs -
#69097
[PATCH] Add 'kill-region-or-word' command
Previous Next
Reported by: Philip Kaludercic <philipk <at> posteo.net>
Date: Tue, 13 Feb 2024 09:57:02 UTC
Severity: normal
Tags: patch
Done: Sean Whitton <spwhitton <at> spwhitton.name>
Bug is archived. No further changes may be made.
Full log
Message #53 received at 69097 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Philip Kaludercic <philipk <at> posteo.net>
>> Cc: rms <at> gnu.org, 69097 <at> debbugs.gnu.org
>> Date: Fri, 03 May 2024 17:32:35 +0000
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> >> Cc: rms <at> gnu.org, 69097 <at> debbugs.gnu.org
>> >> Date: Fri, 03 May 2024 13:59:00 +0300
>> >> From: Eli Zaretskii <eliz <at> gnu.org>
>> >>
>> >> > From: Philip Kaludercic <philipk <at> posteo.net>
>> >> > Cc: 69097 <at> debbugs.gnu.org, Richard Stallman <rms <at> gnu.org>
>> >> > Date: Fri, 03 May 2024 10:48:13 +0000
>> >> >
>> >> > > More to the point, can you explain why we need this, given the
>> >> > > existence of kill-word?
>> >> > >
>> >> > > Also, this kills backward, something that is not evident, neither from
>> >> > > the name of the command nor from the doc string (and the obscure
>> >> > > reference to Unix doesn't help, IMO).
>> >> > >
>> >> > > Finally, having another command that kills the region doesn't seem
>> >> > > justified, or is it?
>> >> >
>> >> > The motivation is sort of the same as with generalising `upcase-word' to
>> >> > `upcase-dwim'. If there is no active region, it behaves like
>> >> > `backward-kill-word' (which is what C-w does in a terminal as well), but
>> >> > if there is an active region it reverts to `kill-ring-save'.
>> >>
>> >> If so, then (assuming we decide to accept this change), the name of
>> >> the command should be something like kill-word-dwim, and the doc
>> >> string should mention the two commands you refer to above.
>> >>
>> >> > I have this in my personal configuration for ages, and it is always
>> >> > one of the first things I re-implement when using an Emacs without a
>> >> > custom init.el.
>> >>
>> >> Any reason why you need this command and cannot settle for the two
>> >> commands it replaces heuristically? Are you using Emacs with
>> >> transient-mark-mode on or off?
>> >
>> > And one more question: currently C-w signals an error if there's no
>> > region. So another idea is to extend C-w to delete the word at point
>> > if there's no region (where "no region" means "no active region" if
>> > transient-mark-mode is ON, otherwise it means "no mark set").
>>
>> That is basically what my command does (with the difference that I don't
>> just check if (mark) is non-nil but also if (use-region-p) is non-nil),
>> just not part of kill-region. I don't know if this is too invasive, if
>> users are used to this error being signalled. Perhaps it can be
>> protected by a user option?
>
> I don't think anyone wants the error, so doing something useful in
> that case should be a no-brainer.
How does this look like:
[0001-Allow-kill-region-to-delete-the-last-word.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
--
Philip Kaludercic on peregrine
This bug report was last modified 243 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.