/*! \brief Runs a page hook. * \par Function Description * Runs a hook called \a name, which should expect the single #PAGE \a * page as its argument. * * \param name name of hook to run * \param page #PAGE argument for hook. */ void g_run_hook_page (const char *name, PAGE *page) { SCM args = scm_list_1 (edascm_from_page (page)); scm_run_hook (g_get_hook_by_name (name), args); scm_remember_upto_here_1 (args); }
/*! \brief Runs a page hook. * \par Function Description * Runs a hook called \a name, which should expect the single #PAGE \a * page as its argument. * * \param name name of hook to run * \param page #PAGE argument for hook. */ void g_run_hook_page (GschemToplevel *w_current, const char *name, PAGE *page) { scm_dynwind_begin (0); g_dynwind_window (w_current); SCM expr = scm_list_3 (run_hook_sym, g_get_hook_by_name (name), edascm_from_page (page)); g_scm_eval_protected (expr, scm_interaction_environment ()); scm_dynwind_end (); scm_remember_upto_here_1 (expr); }