Function: run-hook-with-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. The final return value
is unspecified.

Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument. (fn HOOK &rest ARGS)