Subject: Re: bug#54733: Match again in perform-replace

From: Juri Linkov <[email-masked]>
Date: Fri, 24 Jun 2022 20:25:05 +0300

>>>> +				(replace-search search-string limit
>>>> +						regexp-flag delimited-flag
>>>> +						case-fold-search backward))
>>>
>>> I don't know this code too well, but perhaps SEARCH_STRING here should be
>>> anchored with something like "\\=" at the beginning?
>>>
>>> Otherwise the search can succeed here even if the next match is not
>>> here. Not sure how important that is, though.
>>
>> I'm afraid that prepending "\\=" might break a complex regexp somehow.
>
> Another variant without modifying the original regexp is still to call
> replace-search, but afterwards check if it stayed at the old position

A third variant is to add a new variable `looking-at-function'
that is like `isearch-search-fun-function', so everyone who needs
to redefine the search function, will also need to redefine
the looking-at function.