CVSROOT: /cvsroot/lilypond Module name: lilypond Branch: lilypond_2_6 Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/08/02 01:10:19
Modified files: lily : ly-module.cc Log message: release commit CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/ly-module.cc.diff?only_with_tag=lilypond_2_6&tr1=1.42.2.3&tr2=1.42.2.4&r1=text&r2=text Patches: Index: lilypond/lily/ly-module.cc diff -u lilypond/lily/ly-module.cc:1.42.2.3 lilypond/lily/ly-module.cc:1.42.2.4 --- lilypond/lily/ly-module.cc:1.42.2.3 Sat Jul 30 17:37:45 2005 +++ lilypond/lily/ly-module.cc Tue Aug 2 01:10:19 2005 @@ -209,3 +209,33 @@ { ly_export (mod, ly_module_symbols (mod)); } + + +#ifdef MODULE_GC_KLUDGE +static SCM +redefine_keyval (void *closure, SCM key, SCM val, SCM result) +{ + (void)closure; + SCM new_tab = result; + scm_hashq_set_x (new_tab, key, val); + return new_tab; +} + +/* + UGH UGH. + Kludge for older GUILE 1.6 versions. + */ +void +make_stand_in_procs_weak () +{ + SCM old_tab = scm_stand_in_procs; + SCM new_tab = scm_make_weak_key_hash_table (scm_from_int (257)); + + new_tab = scm_internal_hash_fold ((Hash_cl_func) & redefine_keyval, NULL, + new_tab, old_tab); + + scm_stand_in_procs = new_tab; +} + +ADD_SCM_INIT_FUNC(make_stand_in_procs_weak, make_stand_in_procs_weak); +#endif _______________________________________________ Lilypond-cvs mailing list Lilypond-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-cvs