ruby-trunk-changes r29648 - r29650

ruby-trunk-changes を始めて 2ヶ月になりました。1ヶ月目の時は正直これを毎日続けるのは大変だな、続くかなぁと思っていたのですが、最近慣れてきたのかだいぶ楽になってきました。習慣になった反面、夜中にはっと目がさめた時に「あれっ、今日 ruby-trunk-changes 書いたっけ?」と不安になったりしますけど(家の鍵しめたっけ? みたいなのと同じようなことだと思います)。
あとは書きやすいように環境の整備もしていきたいなと思います。今は svn から情報を取得してテンプレートを作るところまでスクリプト化して、あとはブラウザのフォームに貼り付けて編集していますが、1コミット毎にコメントを編集して保存しておけるようになるともうちょっと楽になるかなぁと思ってます。

kou:r29648 2010-10-30 23:39:20 +0900

昨日の修正で lib/rexml/encoding.rb のインデントが Tab になっていたのをスペースに戻しているだけです。

ko1:r29649 2010-10-31 10:42:54 +0900

diff は結構多いですが、これまで #define していた定数を enum にしたり構造体の宣言場所(ファイル)を変更したりといったリファクタリングが主で動作に影響するような内容はなさそうです。
しかしちょっと気になる点もありました。compile.c で setup_args の最後の引数の型を unsigned long * から VALUE * に変更していますが、これはビットフラグ用の整数値として利用していて、さらに呼び元ではその結果を LONG2FIX マクロに渡しているので、long で良かったんではないでしょうか。まあこのフラグは最下位1バイトまでしか使っていないみたいなので、おそらく実害はないでしょうけど今は sizeof(long) != sizeof(VALUE) な環境がありえるらしいので一応。
それから、コメントアウトされていますが ISeq の iseq_marshal_dump/load という関数名がある(実体はありません)ので、ISeq の Marshal.dump/load の対応がそのうち入るのかなーとちょっと期待です。互換性や validation が課題なのでしょうけど。