From: Paul Brannan Date: 2002-05-01T05:19:06+09:00 Subject: some questions about rb_newobj() In gc.c, I see: VALUE rb_newobj() { VALUE obj; if (!freelist) rb_gc(); obj = (VALUE)freelist; freelist = freelist->as.free.next; MEMZERO((void*)obj, RVALUE, 1); return obj; } Can the freelist still be 0 after calling rb_gc()? Is it possible for this function to raise an exception? (It's desirable that it can't since that would mean that Data_Wrap_Struct can't raise either, which makes my job as an extension writer easier). Thanks, Paul