山本です。

>|>>varはvariable.cの中で使っているはずですが。いつのまにか直し
>|>>ちゃったのかな?
>|>
>|>ああ、そういえば rb_define_virtual_variable の仕様がよくわからないまま、
>....
>
>|頭が型変換でスパゲッティになってましたが、だんだん整理がついてきました。
>|virtual でも data を使うことがありえますよね。これが意図された挙動に近いでしょうか?
>
>なんかイヤな臭いがします。せっかくですが一度作業を中断してい
>ただけませんか? いや、手元でやっていただくぶんには構わない
>んですが、もうちょっと整理しないと恐くて取り込めません。

このパッチは、元々すぐに取り込まれることは考えていませんでした。

(http://www.ccsnet.ne.jp/~ocean/ にあるような、コールバック部分に立ち入る前の
パッチなら取り込んでも問題ないと思いますが)

このパッチについては、コールバックを ANSI 化するとどうなるか、自分自身で見積もりたかった
のがひとつ、それを拡張ライブラリの作者として許容できるかなど、議論の土台になればと思って
作ったのがひとつです。

もともと、コールバック部分に手を入れると今回のように、コールバック関数の引数の型や数などの
仕様に立ち入ることになるので、まつもとさんにひとつひとつ聞いていくしかないと思うのですが、
試験的なパッチだったため、それを今回あえて省きました。

質問なのですが、ruby.h に宣言されている外部関数のインターフェースについて、今回のように
ANYARGS を厳密な型・数にすること自体については OK なんでしょうか?それならひとつひとつ
質問していって、仕様が明確になれば取り込みレベルのパッチもつくれると思います。