Go to the first, previous, next, last section, table of contents.


Reverting

If you have made extensive changes to a file and then change your mind about them, you can get rid of them by reading in the previous version of the file with the revert-buffer command. See section `Reverting a Buffer' in The GNU Emacs Manual.

Command: revert-buffer &optional ignore-auto noconfirm
This command replaces the buffer text with the text of the visited file on disk. This action undoes all changes since the file was visited or saved.

By default, if the latest auto-save file is more recent than the visited file, revert-buffer asks the user whether to use that instead. But if the argument ignore-auto is non-nil, then only the the visited file itself is used. Interactively, ignore-auto is t unless there is a numeric prefix argument; thus, the interactive default is to check the auto-save file.

Normally, revert-buffer asks for confirmation before it changes the buffer; but if the argument noconfirm is non-nil, revert-buffer does not ask for confirmation.

Reverting tries to preserve marker positions in the buffer by using the replacement feature of insert-file-contents. If the buffer contents and the file contents are identical before the revert operation, reverting preserves all the markers. If they are not identical, reverting does change the buffer; then it preserves the markers in the unchanged text (if any) at the beginning and end of the buffer. Preserving any additional markers would be problematical.

You can customize how revert-buffer does its work by setting these variables--typically, as buffer-local variables.

Variable: revert-without-query
This variable holds a list of files that should be reverted without query. The value is a list of regular expressions. If a file name matches one of these regular expressions, then revert-buffer reverts the file without asking the user for confirmation, if the file has changed on disk and the buffer is not modified.

Variable: revert-buffer-function
The value of this variable is the function to use to revert this buffer. If non-nil, it is called as a function with no arguments to do the work of reverting. If the value is nil, reverting works the usual way.

Modes such as Dired mode, in which the text being edited does not consist of a file's contents but can be regenerated in some other fashion, give this variable a buffer-local value that is a function to regenerate the contents.

Variable: revert-buffer-insert-file-contents-function
The value of this variable, if non-nil, is the function to use to insert the updated contents when reverting this buffer. The function receives two arguments: first the file name to use; second, t if the user has asked to read the auto-save file.

Variable: before-revert-hook
This normal hook is run by revert-buffer before actually inserting the modified contents--but only if revert-buffer-function is nil.

Font Lock mode uses this hook to record that the buffer contents are no longer fontified.

Variable: after-revert-hook
This normal hook is run by revert-buffer after actually inserting the modified contents--but only if revert-buffer-function is nil.

Font Lock mode uses this hook to recompute the fonts for the updated buffer contents.


Go to the first, previous, next, last section, table of contents.