18.6.3 Recovering Data from Auto-Saves
You can use the contents of an auto-save file to recover from a loss
of data with the command M-x recover-file RET file RET
. This visits file and then (after your confirmation)
restores the contents from its auto-save file #file#
.
You can then save with C-x C-s
to put the recovered text into
file itself. For example, to recover file foo.c
from its
auto-save file #foo.c#
, do:
M-x recover-file RET foo.c RET
yes RET
C-x C-s
Before asking for confirmation, M-x recover-file
displays a
directory listing describing the specified file and the auto-save file,
so you can compare their sizes and dates. If the auto-save file
is older, M-x recover-file
does not offer to read it.
If Emacs or the computer crashes, you can recover all the files you
were editing from their auto save files with the command M-x recover-session
. This first shows you a list of recorded interrupted
sessions. Move point to the one you choose, and type C-c C-c
.
Then recover-session
asks about each of the files that were
being edited during that session, asking whether to recover that file.
If you answer y
, it calls recover-file
, which works in its
normal fashion. It shows the dates of the original file and its
auto-save file, and asks once again whether to recover that file.
When recover-session
is done, the files you’ve chosen to
recover are present in Emacs buffers. You should then save them. Only
this—saving them—updates the files themselves.
Emacs records information about interrupted sessions in files named
.saves-pid-hostname~
in the directory
~/.emacs.d/auto-save-list/
. This directory is determined by
the variable auto-save-list-file-prefix
. If you set
auto-save-list-file-prefix
to nil
, sessions are not
recorded for recovery.