*/
#define IMPLEMENT_SMOBS(CL)\
long CL::smob_tag_;\
-static scm_smobfuns CL ## _funs = { \
- CL::mark_smob, CL::free_smob, \
- CL::print_smob, 0, \
-}; \
void \
CL::init_smobs () \
{ \
- smob_tag_ = scm_newsmob (&CL ## _funs); \
-} \
+ smob_tag_ = scm_make_smob_type_mfpe ( \
+ #CL, 0, CL::mark_smob, CL::free_smob, CL::print_smob, 0);\
+}\
\
\
void \
return 0;
}
-static scm_smobfuns callback_funs = {
- mark_smob, free_smob,
- print_smob, 0,
-};
-
static
void start_callback_smobs()
{
- callback_tag = scm_newsmob (&callback_funs);
+ callback_tag = scm_make_smob_type_mfpe ("callback", 0,
+ mark_smob, free_smob,
+ print_smob, 0);
}