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

From: Eli Zaretskii <[email-masked]>
Date: Tue, 03 Sep 2024 18:32:55 +0300

> From: Robert Pluim <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked],
>   [email-masked],  [email-masked],  [email-masked],
>   [email-masked]
> Date: Tue, 03 Sep 2024 16:55:29 +0200
> 
> +(defcustom kill-word-if-no-region nil
> +  "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.  If set to a
> +function, call that function."
> +  :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)
> +                 (symbol :tag "User function")
> +  :group 'killing)

When and why would this be useful?

Since kill-region cannot be customized in this way, I wonder why this
new functionality should.  If someone wants to replace kill-region
with their own function, they can always redefine it or advise it, no?