51 Saving Emacs Sessions
Use the desktop library to save the state of Emacs from one session
to another. Once you save the Emacs desktop—the buffers,
their file names, major modes, buffer positions, and so on—then
subsequent Emacs sessions reload the saved desktop.
You can save the desktop manually with the command M-x
desktop-save. You can also enable automatic desktop saving when
you exit Emacs: use the Customization buffer (see Easy Customization) to set
t for future
sessions, or add this line in your ~/.emacs file:
When Emacs starts, it looks for a saved desktop in the current
directory. Thus, you can have separate saved desktops in different
directories, and the starting directory determines which one Emacs
reloads. You can save the current desktop and reload one saved in
another directory by typing M-x desktop-change-dir. Typing
M-x desktop-revert reverts to the desktop previously reloaded.
Specify the option ‘--no-desktop’ on the command line when you
don't want it to reload any saved desktop. This turns off
desktop-save-mode for the current session.
By default, all the buffers in the desktop are restored at one go.
However, this may be slow if there are a lot of buffers in the
desktop. You can specify the maximum number of buffers to restore
immediately with the variable
remaining buffers are restored “lazily,” when Emacs is idle.
Type M-x desktop-clear to empty the Emacs desktop. This kills
all buffers except for internal ones, and clears the global variables
desktop-globals-to-clear. If you want this to
preserve certain buffers, customize the variable
desktop-clear-preserve-buffers-regexp, whose value is a regular
expression matching the names of buffers not to kill.
If you want to save minibuffer history from one session to
another, use the