Here’s an example that uses a mode hook to turn on Auto Fill mode when in Lisp Interaction mode:
(add-hook 'lisp-interaction-mode-hook 'auto-fill-mode)
add-hookhook function &optional append local
This function is the handy way to add function function to hook variable hook. You can use it for abnormal hooks as well as for normal hooks. function can be any Lisp function that can accept the proper number of arguments for hook. For example,
(add-hook 'text-mode-hook 'my-text-hook-function)
my-text-hook-function to the hook called text-mode-hook.
If function is already present in hook (comparing using
add-hook does not add it a second time.
If function has a non-
changing major modes) won’t delete it from the hook variable’s local
For a normal hook, hook functions should be designed so that the order
in which they are executed does not matter. Any dependence on the order
is asking for trouble. However, the order is predictable: normally,
function goes at the front of the hook list, so it is executed
first (barring another
add-hook call). If the optional argument
append is non-
nil, the new hook function goes at the end of
the hook list and is executed last.
add-hook can handle the cases where hook is void or its
value is a single function; it sets or changes the value to a list of
If local is non-
nil, that says to add function to the
buffer-local hook list instead of to the global hook list. This makes
the hook buffer-local and adds t to the buffer-local value. The
latter acts as a flag to run the hook functions in the default value as
well as in the local value.
remove-hookhook function &optional local
This function removes function from the hook variable
hook. It compares function with elements of hook
equal, so it works for both symbols and lambda
If local is non-
nil, that says to remove function
from the buffer-local hook list instead of from the global hook list.