Subject: bug#62505: 29.0.60; Switching between query-replace and query-replace-regexp should be easy, like isearch

From: Spencer Baugh <[email-masked]>
Date: Wed, 29 Mar 2023 14:51:02 -0400

Juri Linkov <[email-masked]> writes:
>> isearch-forward and isearch-forward-regexp are bound to C-s and C-M-s.
>> After an isearch-forward is started, it can be switched to
>> isearch-forward-regexp by typing M-s r.
>>
>> query-replace and query-replace-regexp are bound to M-% and C-M-%.
>> After a query-replace is started, there's no way to switch it to
>> query-replace-regexp.
>
> It's not clear whether you want to switch modes when the replacement
> process is already underway, or when reading query-replace arguments
> in the minibuffer.  In Isearch mode 'M-s r' switches modes when the
> search process is in progress, not when reading the search string
> in the minibuffer.

I think both should work.

True that 'M-s r' doesn't work if you first start editing the search
string with 'M-e'.  Maybe Isearch would also benefit from having that
work?  With C-s and C-M-s bindings, which work both while searching and
while editing the search string in the minibuffer?