Subject: bug#65854: Multi-file replacement diff

From: Dmitry Gutov <[email-masked]>
Date: Sun, 24 Sep 2023 04:43:00 +0300

Hi!

On 10/09/2023 20:18, Juri Linkov wrote:
> As discussed on emacs-devel, here is the patch that implements
> a standalone command that reads a list of files and replacement strings,
> then shows a diff to review before applying replacements.
> Also provided the Dired integration to show the replacement diff
> on marked files.  Later the same function could be used
> to show replacement diffs from the xref buffer and maybe
> from other packages as well.

Here's a counter-proposal: we were talking about a "refactoring" 
packages on emacs-devel, maybe a week ago. And I suggested a function 
that would take a list of changes (as some data) and present them using 
some customizable logic: the current Eglot's solution uses a diff, and 
I'll add an implementation that shows a tree-like buffer with 
checkmarks, probably.

I'll be starting on this any day now ;-(

So... provided this won't take too long, I would suggest your code here 
just focuses on creating a list of changes (those shouldn't require 
buffers to visit files), and then you'd be able to pass them on to 
'refact-show-changes' (name under construction), which would then use 
the interface that the user prefers.

This was we'll also consolidate the diff-generating code for features of 
this sort.