Subject: bug#77580: [PATCH] New command ediff-undo

From: "Paul D. Nelson" <[email-masked]>
Date: Thu, 10 Apr 2025 07:23:57 +0200

Hi Sean,

> It might be more complex, but in general we really don't want to add
> functionality to Emacs core that is already available on ELPA, because
> we are working towards shipping the whole of GNU ELPA with our release
> tarballs.  Then we would be shipping the same functionality twice.

I understand the goal of avoiding duplicated functionality with ELPA -
thanks for clarifying.

> So if vundo can already do what ediff-undo and diff-with-undo are for,

I don't think "can already do" applies here (and not just because vundo
currently lacks Ediff and region support).  To clarify, here's the
equivalent of M-x diff-with-undo with vundo:

  M-x vundo, m, b, d, q, C-x b *vundo-diff<TAB>.

These ergonomics scale nicely when exploring undo histories, but for
quick comparisons, they're hardly better than "fully manual" (copying to
a temp buffer and doing diff-buffers).

It's like asking "vc-annotate can show diffs, so why do we need
vc-diff?"

Should diff-with-undo be a "shortcut" command built into vundo rather
than Emacs?  I don't think so: this would bifurcate vundo's interface,
add some complexity, and wouldn't meaningfully reuse any existing vundo
code.  I think the proposed implementation is at the appropriate level,
alongside commands like diff-buffer-with-file.

Thanks, best,

Paul