Subject: bug#69097: [PATCH] Add 'kill-region-or-word' command

From: Robert Pluim <[email-masked]>
Date: Tue, 03 Sep 2024 15:53:39 +0200

>>>>> On Tue, 03 Sep 2024 15:21:54 +0300, Eli Zaretskii <[email-masked]> said:

    >> From: Philip Kaludercic <[email-masked]>
    >> Cc: Eli Zaretskii <[email-masked]>,  Stefan Kangas <[email-masked]>,
    >> Andrea Corallo <[email-masked]>,  [email-masked],  [email-masked],
    >> [email-masked]
    >> Date: Mon, 02 Sep 2024 21:12:01 +0000
    >> 
    >> I had misremembered the last state of this patch.  It is easier to just
    >> have a tristate option.  Here is the updated proposal:

    Eli> Thanks.

    >> +(defcustom kill-word-if-no-region nil

    Eli> I would call this 'kill-region-dwim' instead.

    >> +  "Behaviour when `kill-region' is invoked without an active region.
    >> +If set to nil (default), then an error occurs and nothing is killed.  If
    >> +set to `emacs-word', then kill a the last word as defined by the current
    >> +major mode.  If set to `unix-word', then kill the last word in the style
    >> +of a shell like Bash, disregarding the major mode."
    >> +  :type '(choice (const :tag "Kill a word like `backward-kill-word'" emacs-word)
    >> +                 (const :tag "Kill a word like Bash would" unix-word)
    >> +                 (const :tag "Do not kill anything" nil))
    >> +  :group 'killing)

    Eli> :version tag is missing.

Is it worth allowing a user-specified function?

Robert
--