.#& % Hooks+ $ NULL% Hooks,* $ name ) main_hook+* ! h+) hook_name$ next2 main_hook_function- list_of_hooks! 4! h $ name ! h) hook_name ) main_hook ! h2 main_hook_function % Hooks ! h$ next ! h% Hooks1 add_hook_function,* $ name+* ! h+ % Hooks.! h $ name ! h") hook_nameA. ! hw/c/ $ NULLw) find_hook,* ) hook_name - hook_function+* ! h+* $ list+ ) hook_name.0 save_buffer_hookx3> _jed_write_buffer_before_hooks - hook_function + add_to_hookw/.1 init_display_hookx3 7 _jed_init_display_hooks - hook_function + add_to_hookw/.2 reset_display_hookx38 _jed_reset_display_hooks - hook_function + add_to_hookw/j ) hook_name ) find_hook! h ! h $ NULLA.A hook %s unknown to this interface ) hook_name & verror/c - hook_function$ next! 2$ list - hook_function $ list- hook_function ! h"- list_of_hooks $ list$ next $ list ! h- list_of_hooksy- hook_add_hook,* $ name+* $ args ! h+ & _NARGS! 1: * __pop_args$ args $ name ) find_hook! h ! h $ NULLA.w/c ! h"- list_of_hooks.! h $ args + __push_args ! h"- hook_functionM/. do_simple_hook,* $ file $ mode+ $ file $ mode . _function_name . do_simple_hooky0 save_buffer_hook0 save_buffer_hook}0 save_buffer_hook 1 add_hook_function, . _function_name . do_simple_hooky1 init_display_hook1 init_display_hook}1 init_display_hook 1 add_hook_function, . _function_name . do_simple_hooky2 reset_display_hook2 reset_display_hook}2 reset_display_hook 1 add_hook_function