[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Emacs periodically saves all files that you are visiting; this is called auto-saving. Auto-saving prevents you from losing more than a limited amount of work if the system crashes. By default, auto-saves happen every 300 keystrokes, or after around 30 seconds of idle time. See section `Auto-Saving: Protection Against Disasters' in The GNU Emacs Manual, for information on auto-save for users. Here we describe the functions used to implement auto-saving and the variables that control them.
nil
if the buffer
should not be auto-saved.
buffer-auto-save-file-name => "/xcssun/users/rms/lewis/#backups.texi#" |
t
, a nonempty list, or a positive
integer. Otherwise, it turns auto-saving off.
nil
value if filename is a
string that could be the name of an auto-save file. It assumes
the usual naming convention for auto-save files: a name that
begins and ends with hash marks (`#') is a possible auto-save file
name. The argument filename should not contain a directory part.
(make-auto-save-file-name) => "/xcssun/users/rms/lewis/#backups.texi#" (auto-save-file-name-p "#backups.texi#") => 0 (auto-save-file-name-p "backups.texi") => nil |
The standard definition of this function is as follows:
(defun auto-save-file-name-p (filename) "Return non-nil if FILENAME can be yielded by..." (string-match "^#.*#$" filename)) |
This function exists so that you can customize it if you wish to
change the naming convention for auto-save files. If you redefine it,
be sure to redefine the function make-auto-save-file-name
correspondingly.
auto-save-visited-file-name
(described below); callers of this
function should check that variable first.
(make-auto-save-file-name) => "/xcssun/users/rms/lewis/#backups.texi#" |
The standard definition of this function is as follows:
(defun make-auto-save-file-name () "Return file name to use for auto-saves \ of current buffer.." (if buffer-file-name (concat (file-name-directory buffer-file-name) "#" (file-name-nondirectory buffer-file-name) "#") (expand-file-name (concat "#%" (buffer-name) "#")))) |
This exists as a separate function so that you can redefine it to
customize the naming convention for auto-save files. Be sure to
change auto-save-file-name-p
in a corresponding way.
nil
, Emacs auto-saves buffers in
the files they are visiting. That is, the auto-save is done in the same
file that you are editing. Normally, this variable is nil
, so
auto-save files have distinct names that are created by
make-auto-save-file-name
.
When you change the value of this variable, the new value does not take
effect in an existing buffer until the next time auto-save mode is
reenabled in it. If auto-save mode is already enabled, auto-saves
continue to go in the same file name until auto-save-mode
is
called again.
t
if the current buffer has been
auto-saved since the last time it was read in or saved.
nil
.
If the value is zero or nil, then auto-saving is not done as a result
of idleness, only after a certain number of input events
as specified by auto-save-interval
.
nil
, buffers that are visiting files
have auto-saving enabled by default. Otherwise, they do not.
Normally, if any buffers are auto-saved, a message that says
`Auto-saving...' is displayed in the echo area while auto-saving is
going on. However, if no-message is non-nil
, the message
is inhibited.
If current-only is non-nil
, only the current buffer
is auto-saved.
delete-auto-save-files
is non-nil
. It is called every
time a buffer is saved.
delete-auto-save-file-if-necessary
. If it is non-nil
,
Emacs deletes auto-save files when a true save is done (in the visited
file). This saves disk space and unclutters your directory.
If it is -1, that means auto-saving is temporarily shut off in this buffer due to a substantial decrease in size. Explicitly saving the buffer stores a positive value in this variable, thus reenabling auto-saving. Turning auto-save mode off or on also updates this variable, so that the substantial decrease in size is forgotten.
nil
) specifies a file for recording the
names of all the auto-save files. Each time Emacs does auto-saving, it
writes two lines into this file for each buffer that has auto-saving
enabled. The first line gives the name of the visited file (it's empty
if the buffer has none), and the second gives the name of the auto-save
file.
When Emacs exits normally, it deletes this file; if Emacs crashes, you
can look in the file to find all the auto-save files that might contain
work that was otherwise lost. The recover-session
command uses
this file to find them.
The default name for this file specifies your home directory and starts with `.saves-'. It also contains the Emacs process ID and the host name.
auto-save-list-file-name
(if you have not already set it
non-nil
) based on this prefix, adding the host name and process
ID. If you set this to nil
in your init file, then Emacs does
not initialize auto-save-list-file-name
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |