Running Hooks
In this section, we document the run-hooks
function, which is used to run a normal hook. We also document the functions for running various kinds of abnormal hooks.
- Function: run-hooks &rest hookvars
-
This function takes one or more normal hook variable names as arguments, and runs each hook in turn. Each argument should be a symbol that is a normal hook variable. These arguments are processed in the order specified.
If a hook variable has a non-
nil
value, that value should be a list of functions.run-hooks
calls all the functions, one by one, with no arguments.The hook variable’s value can also be a single function—either a lambda expression or a symbol with a function definition—which
run-hooks
calls. But this usage is obsolete.If the hook variable is buffer-local, the buffer-local variable will be used instead of the global variable. However, if the buffer-local variable contains the element
t
, the global hook variable will be run as well.
- Function: run-hook-with-args hook &rest args
This function runs an abnormal hook by calling all the hook functions in hook, passing each one the arguments args.
- Function: run-hook-with-args-until-failure hook &rest args
This function runs an abnormal hook by calling each hook function in turn, stopping if one of them fails by returning
nil
. Each hook function is passed the arguments args. If this function stops because one of the hook functions fails, it returnsnil
; otherwise it returns a non-nil
value.
- Function: run-hook-with-args-until-success hook &rest args
This function runs an abnormal hook by calling each hook function, stopping if one of them succeeds by returning a non-
nil
value. Each hook function is passed the arguments args. If this function stops because one of the hook functions returns a non-nil
value, it returns that value; otherwise it returnsnil
.
Copyright © 1990-1996, 1998-2021 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Running-Hooks.html