Subject: bug#23484: 25.1.50; undo doesn't work properly in xref-query-replace-in-results

From: Juri Linkov <[email-masked]>
Date: Wed, 11 May 2016 23:48:43 +0300

>>> - Being able to replace _any_ regexp inside the matches is a feature
>>> (though maybe it's not going to be very popular).
>>
>> Honestly speaking, the ‘.*’ thing is quite confusing.
>
> You're probably right. We could provide a separate command with that
> advanced feature (or only use ask for FROM with prefix argument). We would
> still have `.*' under the covers in the default case, though.

What is the purpose of asking FROM?  If to be able to replace
a substring of the original xref search string, then anyway it's
inconvenient for the user to type a part of the already typed string
again, e.g. after searching with xref for the string “abracadabra”,
pressing ‘r’ requires typing a substring “abracadabr”, etc.

More useful would be to prefill the original string in the minibuffer
(here INITIAL-CONTENTS of read-from-minibuffer is justified)
for easy editing (removing parts of the xref search string).

This will greatly simplify replacement with perform-replace.

And then why limit to only boundaries of matches?  The user sees
a list of matching lines in the *xref* buffer.  Let's allow the users
to replace any text within the displayed matching lines (WYSIWYG).