From: Visuwesh <visuweshm@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 52242@debbugs.gnu.org
Subject: bug#52242: 29.0.50; Feature Request: Offer to run`diff-buffer-with-file' in `recover-this-file' prompt
Date: Mon, 11 Dec 2023 09:44:50 +0530 [thread overview]
Message-ID: <87jzplv0hx.fsf@gmail.com> (raw)
In-Reply-To: <87o7eyuqzn.fsf@gmail.com> (Visuwesh's message of "Sun, 10 Dec 2023 18:57:56 +0530")
[-- Attachment #1: Type: text/plain, Size: 193 bytes --]
[ஞாயிறு டிசம்பர் 10, 2023] Visuwesh wrote:
Just noticed that I had an unrelated filling change sneak in, the
attached patch omits that. Sorry for the noise.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Offer-to-show-diff-against-auto-save-in-recover-file.patch --]
[-- Type: text/x-diff, Size: 2853 bytes --]
From d4ce87ae26c3c43851841432d4f3e1b3f5404f75 Mon Sep 17 00:00:00 2001
From: Visuwesh <visuweshm@gmail.com>
Date: Wed, 6 Dec 2023 13:45:03 +0530
Subject: [PATCH] Offer to show diff against auto-save in recover-file
* 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.
---
doc/emacs/files.texi | 4 ++++
etc/NEWS | 5 +++++
lisp/files.el | 10 +++++++++-
3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 917e937d32d..832c189ce49 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1329,6 +1329,10 @@ Recover
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
diff --git a/etc/NEWS b/etc/NEWS
index 29f4e5c0b66..39708d866d3 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -258,6 +258,11 @@ called in the '--eval' expression, which is useful when those
arguments contain arbitrary characters that otherwise might require
elaborate and error-prone escaping (to protect them from the shell).
++++
+** '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
diff --git a/lisp/files.el b/lisp/files.el
index 1cdcec23b11..83534e0080c 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -7083,7 +7083,15 @@ recover-file
#'(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
--
2.42.0
next prev parent reply other threads:[~2023-12-11 4:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-02 12:28 bug#52242: 29.0.50; Feature Request: Offer to run`diff-buffer-with-file' in `recover-this-file' prompt Visuwesh via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-06 8:22 ` Visuwesh
2023-12-07 5:32 ` Visuwesh
2023-12-09 9:33 ` Eli Zaretskii
2023-12-10 13:27 ` Visuwesh
2023-12-11 4:14 ` Visuwesh [this message]
2023-12-16 12:36 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87jzplv0hx.fsf@gmail.com \
--to=visuweshm@gmail.com \
--cc=52242@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.