Next: Recover, Previous: Auto Save Files, Up: Auto Save [Contents][Index]

#### 18.6.2 Controlling Auto-Saving

Each time you visit a file, auto-saving is turned on for that file’s buffer if the variable `auto-save-default` is non-`nil` (but not in batch mode; see Initial Options). The default for this variable is `t`, so auto-saving is the usual practice for file-visiting buffers. To toggle auto-saving in the current buffer, type `M-x auto-save-mode`. Auto Save mode acts as a buffer-local minor mode (see Minor Modes).

Emacs auto-saves periodically based on how many characters you have typed since the last auto-save. The variable `auto-save-interval` specifies how many characters there are between auto-saves. By default, it is 300. Emacs doesn’t accept values that are too small: if you customize `auto-save-interval` to a value less than 20, Emacs will behave as if the value is 20.

Auto-saving also takes place when you stop typing for a while. By default, it does this after 30 seconds of idleness (at this time, Emacs may also perform garbage collection; see Garbage Collection in The Emacs Lisp Reference Manual). To change this interval, customize the variable `auto-save-timeout`. The actual time period is longer if the current buffer is long; this is a heuristic which aims to keep out of your way when you are editing long buffers, in which auto-save takes an appreciable amount of time. Auto-saving during idle periods accomplishes two things: first, it makes sure all your work is saved if you go away from the terminal for a while; second, it may avoid some auto-saving while you are actually typing.

Emacs also does auto-saving whenever it gets a fatal error. This includes killing the Emacs job with a shell command such as ‘`kill %emacs`’, or disconnecting a phone line or network connection.

You can perform an auto-save explicitly with the command `M-x do-auto-save`.

Next: Recover, Previous: Auto Save Files, Up: Auto Save [Contents][Index]