If you're like most people, you often spend a few hours editing a file, only to decide that you liked your original version better. Or you press some strange sequence of keys that makes Emacs do something extremely weird and that you can't "undo." Emacs provides several ways to get out of these tight spots.
First, try the command
revert-buffer. Emacs will ask one
of two questions: either "Buffer has been auto-saved recently. Revert from
auto-save file? (y or n)" or "Revert buffer from file
your-filename? (yes or no)".
Before deciding what to do, it's important to understand the
difference between these two questions. Emacs creates an auto-save
file every 300 keystrokes you type. So, if you're reverting to the
auto-save file, you'll at most lose your last 300 keystrokes. Maybe
this is what you want - but maybe you made the mistake a long time ago.
In that case, you don't want to use the auto-save file; type
and you'll see the second question, asking if you want to revert to
the last copy of the file that you saved. Type
yes to go back
to your most recent saved version.
 For reference, the name of the auto-save file is
#; that is, it sticks a hash mark (
#) before and after the file's "regular" name.
It's possible that you'll only see the second question ("Revert buffer from file..."). This means that you have saved the file sometime within the last 300 keystrokes. As soon as you save a file, Emacs deletes the auto-save file. It will create a new one every 300 keystrokes.
It's worth noting that Emacs is very picky about what you type.
If it asks for a
y or an
n, you've got to type
n. If it asks for
no, you've got to
no. In situations like this, where the two
styles are mixed up, you've got to get it right.
If you're in real trouble, and you want to go back to your original file - the way it was when you started editing - you need to recover Emacs' backup file. If you're editing a file that already exists, Emacs will create a backup file as soon as it starts. If you're editing a new file, Emacs will create a backup the second time you save the file. Once it's created, the backup file is never touched; it stays there until the next time you start Emacs, at which point you'll get a new backup, reflecting the file's contents at the start of your editing session.
Now that we're over the preliminaries, how do you recover the backup
file? Emacs doesn't have any special
command for doing this; you have to do it by hand. The backup file's
name is the same as your original filename, with a tilde (
added to it. So quit Emacs (or start a shell), and type:
Note that Emacs has the ability to save "numbered" backup files, like the VAX/VMS operating system. We've never played with this feature and don't particularly think it's a good idea. But it's there if you want it.