なかだです。

At Tue, 10 Feb 2004 18:28:15 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:22855]:
> |外しときましたが、DMETHODについては? あまりするとは思えませんが、
> |method -> define_method -> method ... と繰り返すとそのたびにラッ
> |パーが重なっていきます。
> 
> 外せるものなら外した方が良いでしょうけど。できます?

[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_mod_le()は何だったか拡張ライブラリで使えたほうがい
> |いなぁと思ったことがあるのですが。名前がよくないかな。
> 
> 良い名前さえあれば。

rb_inherited_p(klass, super)
rb_subclass_p(klass, super)
とかどうですか。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦