豊福です。

  new と initialize の実装の全般について知りたいので
Subject 変えました。

なかださん
>>>   うっかりしてました。こっちを使った方がいいでしょう。
>>>     rb_obj_call_init(obj, 1, &name);
>> 
>>   「使ったほうがいい」というのは「前のままでも動くことは
>> 動くけれど」ということでしょうか。
> 
>   イテレータの扱いが違うような気がします。

  ソースみたらそのようですね。

>>   ruby1.4 と ruby1.6 の newあたりのソースを見比べたら
>> ruby1.4 では Array とか String に new しか定義されていな
>> かったのが、ruby1.6 では new と initialize の二つが定義
>> されてますよね。Jed/Ruby でも同様の変更が必要ということは
>> ないのでしょうか。
> 
>   組み込みだと NEWOBJ() とか OBJSETUP() のとこから違うのでちょっと特殊で
> す。

  んーと、よくわかりません。C で実装したクラスはすべて
「組み込み」だと思っていたのですが、Ruby/Jed の Buffer
クラスと Ruby の基本の Arrayクラスで扱いが違ってくるのは
なぜでしょうか。Bufferクラスを Arrayクラスのように実装
しない(できない?)理由は。

ということも含めて知りたいことを挙げると、

・rb_obj_alloc(), Data_Wrap_Struct(), NEWOBJ() の使い分け。
・new と initialize に関する今回みたいな話。(別スレッド
  でもそのような話題になってますね)
・newを置き換えると後で継承が使いにくい云々の話。
・上記の話も含めた、組み込みの仕方を一から説明したドキュ
  メントがあると嬉しい。
・クラス、インスタンスを作るサンプルプログラム(それだけ
  で完結して実行できる数十行程度の)があると嬉しい。

---
                                豊福
                                toyofuku / juice.or.jp