Subject: bug#73723: 31.0.50; Add copy/kill/mark commands to isearch

From: Juri Linkov <[email-masked]>
Date: Thu, 10 Oct 2024 09:37:37 +0300

> I find the following useful, and sometimes see others asking for
> the same thing.  Shall we add these to Emacs?
>
>  (defun isearch-copy-match ()
>    "Copy the currently-matched text to the kill ring."
>    (interactive)
>    (kill-new (buffer-substring (min (point) isearch-other-end)
>                                (max (point) isearch-other-end))))
>
>  (defun isearch-kill-match ()
>    "Kill the currently-matched text."
>    (interactive)
>    (kill-region (min (point) isearch-other-end)
>                 (max (point) isearch-other-end)))
>
>  (defun isearch-mark-match ()
>    "Exit isearch, marking the last match."
>    (interactive)
>    (set-mark isearch-other-end)
>    (isearch-exit)
>    (activate-mark))
>
>  (define-key isearch-mode-map (kbd "M-s M-w") #'isearch-copy-match)
>  (define-key isearch-mode-map (kbd "M-s C-w") #'isearch-kill-match)
>  (define-key isearch-mode-map (kbd "M-s C-SPC") #'isearch-mark-match)
>  (define-key isearch-mode-map (kbd "M-s C-@") #'isearch-mark-match)

I have a patch that I'm using for a long time every day.
It allows exiting Isearch with 'S-RET' that activates
the region on the current match.  This allows using
the standard keys afterwards: 'M-w' to copy the match,
'C-w' to kill the match, etc.  Does this eliminate the need
to add more Isearch commands?