run-hook-with-args-until-success
run-hook-with-args-until-success is a built-in function in `C source code
'.
(run-hook-with-args-until-success HOOK &rest ARGS)
Run HOOK with the specified arguments ARGS.
HOOK should be a symbol, a hook variable. The value of HOOK
may be nil, a function, or a list of functions. Call each
function in order with arguments ARGS, stopping at the first
one that returns non-nil, and return that value. Otherwise (if
all functions return nil, or if there are no functions to call),
return nil.
Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.