* lisp/files.el (recover-file): Show diff against the selected auto
save file. (Bug#52242)
* doc/emacs/files.texi (Recover): Document the new feature.
* etc/NEWS: Announce the new feature.
(cherry picked from commit
c4541a35770fe7925f733fcdaa9e4e3348a3c85c)
so you can compare their sizes and dates. If the auto-save file
is older, @kbd{M-x recover-file} does not offer to read it.
+When @kbd{M-x recover-file} asks for confirmation, if you answer with
+@kbd{diff} or @kbd{=}, it shows the diffs between @var{file} and its
+auto-save file @file{#@var{file}#} and reprompts you for confirmation.
+
@findex recover-session
If Emacs or the computer crashes, you can recover all the files you
were editing from their auto save files with the command @kbd{M-x
For example, 'jump-to-register' now only shows registers that you can
actually jump to in the *Register Preview* buffer.
++++
+** 'recover-file' can show diffs between auto save file and current file.
+When answering the prompt with "diff" or "=", it now shows the diffs
+between the auto save file and the current file.
+
+
\f
* Editing Changes in Emacs 30.1
#'(lambda (window _value)
(with-selected-window window
(unwind-protect
- (yes-or-no-p (format "Recover auto save file %s? " file-name))
+ (let ((prompt (format "Recover auto save file %s? " file-name))
+ (choices
+ '(("yes" ?y "recover auto save file")
+ ("no" ?n "don't recover auto save file")
+ ("diff" ?= "show changes between auto save file and current file")))
+ ans)
+ (while (equal "diff" (setq ans (read-answer prompt choices)))
+ (diff file file-name))
+ (equal ans "yes"))
(when (window-live-p window)
(quit-restore-window window 'kill)))))
(with-current-buffer standard-output