Итак, у вас есть что-то вроде этого (я изменил имя функции, чтобы сделать его менее запутанным).
(add-hook 'after-save-hook 'my-function nil 'local)
Но вы спрашиваете, как вы можете это организовать, когда after-save-hook
вызываетmy-function
он передает ему аргумент.
Во-первых, вы не можете сделать это напрямую, по очевидной причине, что after-save-hook
является обычным хуком и поэтому запускается таким образом, чтоt не предоставляет никаких средств для передачи аргументов.
Это означает, что вы должны добавить к хуку функцию, которая фактически делает то, что вы хотите .
Вы могли бы создайте функцию, которая делает то, что вы хотите, так:
(add-hook 'after-save-hook (apply-partially 'my-function ARG) nil 'local)
Но подходы в этом направлении действительно беспорядочные, когда дело доходит до проверки и манипулирования хуком позже, поэтому я рекомендую не делать ничего подобного.
Честно говоря, самый простой подход - очень просто определить именованную функцию, которая делает то, что вам нужно, и добавить , что , в ловушку.
(defun my-function-do-this ()
"Do This"
'do-this)
(add-hook 'after-save-hook 'my-function-do-this nil 'local)