前田です。

On Mon, 2 Jun 97 14:48:54 JST,
Yukihiro Matsumoto <matz / caelum.co.jp> wrote:

||S-Langでバッファが作成された場合は、対応するrubyの
||変数がないわけですから、死んでいるオブジェクトと
||みなされてしまうのでは、と思ったのですが、どうでしょう?
|
|これはS-Langのバッファからrubyオブジェクトを取り出すことが出
|来ると言うことなんでしょうか? つまりrubyインタプリタは知らな
|いが,S-Langからは参照されているからゴミになってはいけない
|rubyオブジェクトが存在すると.

はい。
S-Langの方でバッファが作成された時にもBufferクラスのオブジェクト
を用意しておかないと、$curbuf.tab = 4みたいにできなくなりますので、
すべてのBuffer構造体にBufferクラスのオブジェクトを持たせたわけです。
それで、そのオブジェクトのインスタンス変数が逆にBuffer構造体をラップ
していて、rubyオブジェクトからアクセスできるようになっているという
仕組みです。

# ruby-jed-0.01ではS-Langでバッファが作成された場合はinitializeが
# 呼ばれないバグがありました。ごめんなさい。

|# embeddingは経験が無いので不親切な部分が多いと思いますが,
|# どんどん良くしていけますからかんべんしてください.

いえいえ、当初心配していたよりずっと作業は楽でした。
まだ、解決してない問題もあるのですが、手間さえかければ
なんとかなると思います。

-- 
前田 修吾 <shugo / po.aianet.ne.jp>