Variable: savehist-mode
savehist-mode is a customizable variable defined in savehist.el.gz.
Value
nil
Documentation
Non-nil if Savehist mode is enabled.
See the savehist-mode(var)/savehist-mode(fun) command
for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node (emacs)Easy Customization)
or call the function savehist-mode(var)/savehist-mode(fun).
Probably introduced at or before Emacs version 22.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/savehist.el.gz
;; Functions.
;;;###autoload
(define-minor-mode savehist-mode
"Toggle saving of minibuffer history (Savehist mode).
When Savehist mode is enabled, minibuffer history is saved
to `savehist-file' periodically and when exiting Emacs. When
Savehist mode is enabled for the first time in an Emacs session,
it loads the previous minibuffer histories from `savehist-file'.
The variable `savehist-autosave-interval' controls the
periodicity of saving minibuffer histories.
If `savehist-save-minibuffer-history' is non-nil (the default),
all recorded minibuffer histories will be saved. You can arrange
for additional history variables to be saved and restored by
customizing `savehist-additional-variables', which by default is
an empty list. For example, to save the history of commands
invoked via \\[execute-extended-command], add `command-history' to the list in
`savehist-additional-variables'.
Alternatively, you could customize `savehist-save-minibuffer-history'
to nil, and add to `savehist-additional-variables' only those
history variables you want to save.
To ignore some history variables, add their symbols to the list
in `savehist-ignored-variables'.
This mode should normally be turned on from your Emacs init file.
Calling it at any other time replaces your current minibuffer
histories, which is probably undesirable."
:global t
(if (not savehist-mode)
(savehist-uninstall)
(when (and (not savehist-loaded)
(file-exists-p savehist-file))
(condition-case errvar
(progn
;; Don't set coding-system-for-read -- we rely on the
;; coding cookie to convey that information. That way, if
;; the user changes the value of savehist-coding-system,
;; we can still correctly load the old file.
(load savehist-file nil (not (called-interactively-p 'interactive)))
(setq savehist-loaded t))
(error
;; Don't install the mode if reading failed. Doing so would
;; effectively destroy the user's data at the next save.
(setq savehist-mode nil)
(savehist-uninstall)
(signal (car errvar) (cdr errvar)))))
(savehist-install)))