>>>>> "Y" == Yasushi Shoji <yashi / yashi.com> writes: Y> Ruby/Gtk uses class Data a lot. Marshal.dump can't handle it, AFAIK if (rb_respond_to(obj, s_dump)) { VALUE v; w_byte(TYPE_USERDEF, arg); w_unique(rb_class2name(CLASS_OF(obj)), arg); v = rb_funcall(obj, s_dump, 1, INT2NUM(limit)); if (TYPE(v) != T_STRING) { rb_raise(rb_eTypeError, "_dump() must return String"); } w_bytes(RSTRING(v)->ptr, RSTRING(v)->len, arg); return; } no ? Guy Decoux