青木です。
必要そうなところだけリプライします。
基本的に沈黙は了解の意、で。
In mail "[ruby-list:38475] Re: ruby-dev summary 21403-21530 (draft)"
maili31s / clio.ne.jp (SugHimsi==SUGIHARA Hiroshi) wrote:
> すぎむし。
いつもありがとうございます。
> : [ruby-dev:21176] marshalling ivtbl of Time
>
> : In old 1.8,
>
> # 前からお聞きしたかったんですが、あおきさんの感覚では、
> # 何日くらい前から過去が‘old’にあたるんでしょうか?
んー、元メールに「ちょっと前の 1.8 では」って書いてあったのを
訳しただけです。
> At the beginning of 1.8,
>
> というか実質 In 1.8.0 release, なわけだから、以下の文が
> 過去形である必要があるやらないやら。
いや、1.8.0 ではないんです。
ちょっとややこしいのでタイムテーブルを作りました。
1.8 ブランチ (main trunk)
|
|
1.8.0 リリース 2003-08-04 marshal.c:1.95
|
| 2003-08-09 marshal.c:1.98
|--- marshal_dump が定義されていても IO を自動マーシャルして
| エラーになってしまう問題 (*1) を回避するため、
| marshal_dump が定義されているときはインスタンス変数を
| ダンプしないことになった
| …… つまり、実行例はこのころの ruby でなければならない
|
| 2003-08-11 [ruby-dev:21176]
|--- Time#_dump があるので Time のインスタンス変数が
| マーシャライズされないという報告
| (該当スレッドのルート)
|
| 2003-10-02 marshal.c:1.100
|--- 再度 generic インスタンス変数をダンプするようになる
| ついでにインスタンス変数はすべてダンプするようになる
|
| 2003-10-03 [ruby-dev:21475]
|--- (*1) の問題が復活しているという指摘
|
| 2003-10-04 marshal.c:1.101
|--- ダンプできないものがあったらエラーではなく無視するように変更
|
| その後、細々とバグフィックスが入る
↓
CVS HEAD 2003-10-08 marshal.c:1.103
> : So instance variables of Time objects
> : do not dumped. e.g.
>
> will not be dumped かな?
ですね。
> : Matz decided to dump/restore instance variables
> : automatically, even if #_dump/#marshal_dump is defined.
> But if there is an unserializable object in the variable
> (e.g. IO),
> : ruby does not raise exception, just ignore it
> will -- ,
> so as not to dump unserializable objects.
> : See
> : following example for changes.
> :
> : % cat marshal_io
>
> の前にヴァージョン情報要りません?
後で % ruby-1.8.0 marshal_io のようにバージョン付きで
実行してるのでよいかと。
> : Ruby prints "begin", "----", then "end". So, when we
> : execute BEGIN/END in eval, BEGIN block is executed
> : at beginning of eval, END block is executed at end of
> ^\_the ^\_the
the いつも忘れますね、the。
-------------------------------------------------------------------
青木峰郎