source file of the GNU LilyPond music typesetter
- (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LY_SMOBS_ICC
{ \
CL *s = (CL *) SCM_CELL_WORD_1 (ses); \
delete s; \
- scm_gc_unregister_collectable_memory (s, sizeof (CL), #CL " smob"); \
+ /* scm_gc_unregister_collectable_memory (s, sizeof (CL), #CL " smob"); */ \
return SMOB_FREE_RETURN_VAL (CL); \
} \
\
void \
CL::smobify_self () \
{ \
- SCM s = unprotected_smobify_self (); \
- scm_gc_protect_object (s); \
+ protection_cons_ = SCM_EOL; \
+ self_scm_ = unprotected_smobify_self (); \
+ protect (); \
+ } \
+ void \
+ CL::protect () \
+ { \
+ protect_smob (self_scm_, &protection_cons_); \
+ } \
+ SCM \
+ CL::unprotect () \
+ { \
+ unprotect_smob (self_scm_, &protection_cons_); \
+ return self_scm_; \
} \
- \
SCM \
CL::unprotected_smobify_self () \
{ \