From: matz@... (Yukihiro Matsumoto) Date: 2004-02-10T20:38:05+09:00 Subject: [ruby-dev:22857] Re: `to_s': method `to_s' overridden (TypeError) まつもと ゆきひろです In message "[ruby-dev:22856] Re: `to_s': method `to_s' overridden (TypeError)" on 04/02/10, nobu.nakada@nifty.ne.jp writes: |> 外せるものなら外した方が良いでしょうけど。できます? | |[ruby-dev:22850]のこの辺がそうです。 | |@@ -8914,6 +8907,9 @@ method_proc(method) |+ if (nd_type(mdata->body) == NODE_BMETHOD) { |+ return mdata->body->nd_cval; |+ } |+ proc = rb_iterate((VALUE(*)_((VALUE)))mproc, 0, bmcall, method); | |@@ -8998,5 +8994,20 @@ rb_mod_define_method(argc, argv, mod) | } | if (RDATA(body)->dmark == (RUBY_DATA_FUNC)bm_mark) { |- node = NEW_DMETHOD(method_unbind(body)); |+ struct METHOD *method = (struct METHOD *)DATA_PTR(body); |+ VALUE rklass = method->rklass; |+ node = method->body; じゃあ、それでコミットしてください。 |> 良い名前さえあれば。 | |rb_inherited_p(klass, super) |rb_subclass_p(klass, super) |とかどうですか。 rb_class_inherited_p()くらいかな。moduleにも適用可能なのはご 愛敬ということで。