ruby-trunk-changes r48666 - r48685

今日は ripper の正規表現リテラルのパース関連の修正、ISeq の配列へのダンプの不具合修正、psych の更新などがありました。

naruse: r48666 2014-12-02 02:36:54 +0900

標準添付ライブラリ uriURI::Generic.build の host に IPv6 のアドレスを渡すと host= でセットしようとしてエラーになっていたので hostname= でセットして "[::1]" のように "[]" で囲まれるようにしています。こういう記法があるんですね。 https://github.com/ruby/ruby/pull/765

svn: r48667 2014-12-02 02:37:09 +0900

version.h の日付更新。

nobu: r48668 2014-12-02 02:53:02 +0900

Ripper でもマジックコメントを認識するように関連した処理を parse.y で #ifdef RIPPER の時に有効にしています。

nobu: r48669 2014-12-02 04:43:10 +0900

re.c で onig_region_copy() した時にメモリ確保に失敗する可能性があるので、そのチェックを追加しています。

nobu: r48670 2014-12-02 04:47:36 +0900

r48669 のチェックの真偽が反転していたのを修正。

nobu: r48671 2014-12-02 04:53:54 +0900

r48668 の ripper で magic comment を認識するようにする変更で不要な行が混じっていたそうなのでそれを削除。

nobu: r48672 2014-12-02 06:30:58 +0900

re.c に rb_reg_region_copy() という reg_region_copy() の wrapper でメモリ確保に失敗した時に GC してリトライする関数を追加してこれを利用するようにしています。

nobu: r48673 2014-12-02 06:31:33 +0900

r48504 や r48655 あたりで Ripper で正規表現リテラルのパースエラー検出を実装した時に /*/ のような誤った正規表現の時にエラーにならないのを修正しています。これは parse.y の文法の確認だけではチェックできず、実際に正規表現コンパイルしてみようとしないと発覚しないらしく、しかたないので Ripper でも正規表現リテラルだけが与えられた時はチェックするようにしているようです。ちょっとなぜこれで直るのか謎ですが。 [ruby-dev:48714] [Bug #10437]

nobu: r48674 2014-12-02 06:32:04 +0900

r48673 の続き? で ripper で正規表現リテラルをパースした時の結果が変化してしまっていたのを修正しているようです。 [ruby-dev:48714] [Bug #10437]

tenderlove: r48675 2014-12-02 06:35:11 +0900

拡張ライブラリ psych で BasicObject を継承したオブジェクトの dump/load をサポートしています。ただし marshal_dump/marshal_load に対応していないといけないようです。

svn: r48676 2014-12-02 06:35:23 +0900

r48675 で新規追加されたファイルの svn property 設定。

tenderlove: r48677 2014-12-02 06:48:52 +0900

拡張ライブラリ psych の バージョンを 2.0.6 から 2.0.7 に更新しています。

normal: r48678 2014-12-02 07:32:56 +0900

ISeq の配列への変換でローカル変数の rb_id2str() での変換が失敗した時に無視されてしまっていたのを修正しています。 [ruby-core:66566] [Feature #8543]

nobu: r48679 2014-12-02 13:54:57 +0900

r48678 の再修正。 暗黙の変数の時はローカル変数テーブルのインデックスをダンプするようにしています。

nobu: r48680 2014-12-02 13:55:07 +0900

compile.c の iseq_set_arguments() のリファクタリング

nobu: r48681 2014-12-02 15:29:52 +0900

make distclean-local で ???-fake.rb を削除するように、また make realclean-local で自動生成されたファイルやダウンロードされるファイル群を削除するようにしています。

duerst: r48682 2014-12-02 15:30:05 +0900

Array#+ の rdoc 用コメントに += がシンタックスシュガーなので毎回新しい配列が生成される点を注意として追記しています。

nobu: r48683 2014-12-02 15:59:25 +0900

r48682 のドキュメント追記で演算子部分を code タグをつけるようにしています。

nobu: r48684 2014-12-02 16:06:45 +0900

make html というターゲットを追加して、rdoc のドキュメントを html として生成できるようにしているようです。.ext/html に出力するようになってるみたいですが、なぜ .ext なんでしょうね。

suke: r48685 2014-12-02 21:34:52 +0900

拡張ライブラリ win32ole で内部的に利用している com_hash というオブジェクト? を RTypedData に移行しています。まだあったんですね。というかクラスを定義しないこういう使いかたができるのか…。