X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fly-module.hh;h=48fe1239cd933350aa16cce8b49f0ee2a6a03b01;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=c486a4e9271ff3b0696d79294a130262428dcc5a;hpb=25645986aa3e8d999e901426932c539e8de6a1ca;p=lilypond.git diff --git a/lily/include/ly-module.hh b/lily/include/ly-module.hh index c486a4e927..48fe1239cd 100644 --- a/lily/include/ly-module.hh +++ b/lily/include/ly-module.hh @@ -1,26 +1,31 @@ /* - ly-module.hh -- declare module related helper functions + ly-module.hh -- declare module related helper functions - source file of the GNU LilyPond music typesetter - - (c) 2002--2004 Han-Wen Nienhuys - - */ + source file of the GNU LilyPond music typesetter + (c) 2002--2008 Han-Wen Nienhuys +*/ #ifndef LY_MODULE_HH #define LY_MODULE_HH #include "lily-guile.hh" -SCM ly_make_anonymous_module (); -void ly_copy_module_variables (SCM dest, SCM src); -SCM ly_module_to_alist (SCM mod); +SCM ly_make_anonymous_module (bool safe); +SCM ly_module_copy (SCM dest, SCM src); +SCM ly_module_2_alist (SCM mod); SCM ly_module_lookup (SCM module, SCM sym); -SCM ly_modules_lookup (SCM modules, SCM sym); +SCM ly_modules_lookup (SCM modules, SCM sym, SCM); SCM ly_module_symbols (SCM mod); -void ly_reexport_module (SCM mod); -inline bool ly_module_p (SCM x) { return SCM_MODULEP(x); } -void ly_clear_anonymous_modules (); +void ly_reexport_module (SCM mod); +inline bool ly_is_module (SCM x) { return SCM_MODULEP (x); } +SCM ly_clear_anonymous_modules (); +void clear_anonymous_modules (); +SCM ly_use_module (SCM mod, SCM used); + +/* Ugh signature of scm_internal_hash_fold () is inaccurate. */ +typedef SCM (*Hash_closure_function) (GUILE_ELLIPSIS); + +#define MODULE_GC_KLUDGE #endif /* LY_MODULE_HH */