ruby-trunk-changes r42340 - r42352

今日も bignum.c のリファクタリングと def の戻り値変更の追加修正などがありました。

glass:r42340 2013-08-03 00:36:20 +0900

Array#zip の最適化で渡されたブロックのブロックパラメータが 2以上だった時に格納するバッファを ALLOC_N() で直接確保せずに rb_ary_new2() で配列オブジェクトとして確保するように変更しています。

akr:r42341 2013-08-03 00:55:07 +0900

rb_big2str1() で power_level をインクリメントする条件分岐を削除(かわりにデバッグ時の処理のほうでインクリメント)。

akr:r42342 2013-08-03 01:22:47 +0900

bignum.c の bary_add() のラッパになっていた bigadd_core() という関数を削除して、bigadd() では直接 bary_add() を利用するようにしています。

akr:r42343 2013-08-03 01:42:40 +0900

bignum.c の big2str_orig() のローカル変数名を改名するリファクタリング

akr:r42344 2013-08-03 02:24:19 +0900

更に big2str_orig() のリファクタリング。 条件分岐の整理やループの記法の変更など。

drbrain:r42345 2013-08-03 04:24:14 +0900

doc/syntax/refinements.rdoc の影響のスコープについての記述から instance_eval と module_eval についての記述を削除しています。これらの eval 系での using はサポートされないため。

nobu:r42346 2013-08-03 06:50:20 +0900

r42335 の ChangeLog エントリの typo 修正。

usa:r42347 2013-08-03 06:57:49 +0900

r42337 での def 文が定義したメソッド名の Symbol を返すようにした変更の追加で、def が値を持つようになったので不要になった警告メッセージの出力を削除しています。 [Feature #3753]

nobu:r42348 2013-08-03 09:31:02 +0900

Struct からクラスを生成する時にモジュールやクラスの名前空間の下に作ることができるように rb_struct_define_under() という API を追加して、拡張ライブラリ etc でこれを利用して Etc の下に直接クラスを生成するようにしています。 [ruby-core:54250] [Feature #8264]

nobu:r42349 2013-08-03 09:46:10 +0900

拡張ライブラリ etc で Etc::Passwd や Etc::Group のメンバの文字列をセットする時にエンコーディングを考慮するようにしています。メンバによって locale とか filesystem のエンコーディングを使っているようです。

nobu:r42350 2013-08-03 10:33:58 +0900

parse.y で Rational を生成するのに rb_rational_new() を使っていたところを、約分不要なので rb_rational_raw1() を使うようにしています。

akr:r42351 2013-08-03 13:32:33 +0900

bignum.c のリファクタリング。 Bignum の文字列化のための基数の累乗のキャッシュに使う定数や変数名に base36 という単語を追加するようにしています。 MAX_BIG2STR_TABLE_ENTRIES を MAX_BASE36_POWER_TABLE_ENTRIES に、big2str_power_cache を big2str_power_cache に、big2str_numdigits_cache を base36_numdigits_cache へと変更しています。

naruse:r42352 2013-08-03 16:57:34 +0900

r42347 の変更により関連するテストが失敗していたので変更に追随させています。