[#14922] alias $gvar — Koji Arai <JCA02266@...>

新井です。

19 messages 2001/10/14

[#15006] Re: eval.c (rb_stack_check): prohibit recursive raising error — WATANABE Hirofumi <eban@...>

わたなべです。

13 messages 2001/10/26
[#15008] Re: eval.c (rb_stack_check): prohibit recursive raising error — Shugo Maeda <shugo@...> 2001/10/26

前田です。

[ruby-dev:14858] Re: custom marshal

From: matz@... (Yukihiro Matsumoto)
Date: 2001-10-03 04:17:15 UTC
List: ruby-dev #14858
まつもと ゆきひろです

In message "[ruby-dev:14856] Re: custom marshal"
    on 01/10/03, nobu.nakada@nifty.ne.jp <nobu.nakada@nifty.ne.jp> writes:

|> そうです。拡張ライブラリについては今までのやり方でT_OBJECT以
|> 外のインスタンスを割り当てるクラスを定義しているものはloadで
|> きません。でも、一番使われてそうなT_DATAはそもそもdumpできな
|> いのであまり問題はないのでは?
|
| allocateメソッドが必須になったりはしないのでしょうか。T_DATA
|を作るものでもDataを継承しているのが結構ありそうな気がするので
|すが。

まず、marshal以外について先に考えます。

marshal以外では、今まで通りnewを再定義していればallocateメソッ
ドは不要です。allocateを呼んでいるのはClass#newなので。

marshalについてはT_DATAはdumpできないし、r_objectはT_DATAな
オブジェクトを生成できないので問題ないと思いますけど。

|> でも、become対策だけなら最初のT_OBJECTのチェックだけで十分で
|> はないかという気がしてきました。というのも、
|
| たしかにそんな気もします。

そうしようかなあ。

In This Thread