Subject: bug#60285: xref-query-replace-in-results could show an arrow pointing to the current item being replaced

From: Daniel Martín <[email-masked]>
Date: Sun, 01 Jan 2023 12:23:23 +0100

Dmitry Gutov <[email-masked]> writes:

> On 23/12/2022 21:16, Daniel Martín via Bug reports for GNU Emacs, the
> Swiss army knife of text editors wrote:
>> Severity: wishlist
>> When you use xref-query-replace-in-results to replace some
>> references,
>> it'd be great if the xref buffer showed an overlay arrow (see
>> xref--set-arrow) pointing to the reference being edited.  That'd give
>> better context about the reference that is being edited and the global
>> progress of the query replace operation.
>
> SGTM.
>
> Here's a patch which seems to work. It's a little tricky, though, and
> I'm at a loss with better variable names in some places.
>
> Wish we had some unit tests here.

Thanks.  It works well, but there are some corner cases.  For example,
as you can undo or go to the previous match during the query replace,
the arrow should point to the previous result, if possible.