Dynamic modules are really cool so far, but I think finalizers should not be mandatory (alloc.c):
#ifdef HAVE_MODULES
else if (mblk->markers[i].m.u_any.type == Lisp_Misc_User_Ptr)
{
struct Lisp_User_Ptr *uptr = &mblk->markers[i].m.u_user_ptr;
uptr->finalizer (uptr->p); <----- should NULL-check first
}
#endif
thanks.