The following is a list of some hook variables that let you provide functions to be called from within Emacs on suitable occasions.
Most of these variables have names ending with ‘
-hook’. They are normal hooks, run by means of
run-hooks. The value of such a hook is a list of functions; the functions are called with no arguments and their values are completely ignored. The recommended way to put a new function on such a hook is to call
add-hook. See Hooks, for more information about using hooks.
The variables whose names end in ‘
-functions’ are usually abnormal hooks (some old code may also use the deprecated ‘
-hooks’ suffix); their values are lists of functions, but these functions are called in a special way (they are passed arguments, or their return values are used). The variables whose names end in ‘
-function’ have single functions as their values.
This is not an exhaustive list, it only covers the more general hooks. For example, every major mode defines a hook named ‘
modename-mode-hook’. The major mode command runs this normal hook with
run-mode-hooks as the very last thing it does. See Mode Hooks. Most minor modes have mode hooks too.
A special feature allows you to specify expressions to evaluate if and when a file is loaded (see Hooks for Loading). That feature is not exactly a hook, but does a similar job.
See The Mark.
See Change Hooks.
See Mode Hooks.
See Init File.
See Format Conversion.
See Creating Frames.
See Saving Buffers.
Hook run after a frame’s font changes.
See File Local Variables.
See Lazy Properties.
Hook run when the buffer list changes (see Buffer List).
Function to call to quit the current buffer.
This abnormal hook permits a derived mode to supply a password for the underlying command interpreter without prompting the user.
The command loop runs this soon after
See Input Focus.
See Deleting Frames.
See Multiple Terminals.
See Visiting Functions.
See Region to Refontify.
See Multiline Font Lock.
See Quitting Windows.
See Quitting Windows.
See Killing Buffers.
See Killing Emacs.
See Menu Bar.
See Minibuffer Misc.
Hook run when about to switch windows with a mouse command.
See Mouse Position.
An abnormal hook run by prefix commands (such as
C-u) which should return a string describing the current prefix state. For example,
C-u produces ‘
C-u-’ and ‘
C-u 1 2 3-’. Each hook function is called with no arguments and should return a string describing the current prefix state, or
nil if there’s no prefix state. See Prefix Command Arguments.
Hook run when a prefix command needs to preserve the prefix by passing the current prefix command state to the next command. For example,
C-u needs to pass the state to the next command when the user types
C-u - or follows
C-u with a digit.
Hook run in each window just before redisplaying it. See Forcing Redisplay.
See Command Overview.
See Garbage Collection.
See Suspending Emacs.
See Temporary Displays.
See Window Hooks.