ruby-trunk-changes r48538 - r48549

今日は細かな変更だけでした。bundled gem の power_assert は 0.2.2 に更新されています。

nobu: r48538 2014-11-23 07:46:57 +0900

io.c の rb_io_sysread() の不要な代入を削除しています。 https://github.com/ruby/ruby/pull/767

svn: r48539 2014-11-23 07:47:10 +0900

version.h の日付更新。

nobu: r48540 2014-11-23 08:47:22 +0900

test/ruby/test_variable.rb の未初期化変数の参照や未使用のローカル変数などの警告除去。

nobu: r48541 2014-11-23 09:00:38 +0900

標準添付ライブラリ rexml の lib/rexml/dtd/elementdecl.rb で定義されている正規表現の定数 PATTERN_RE が2度代入されているので1つ目をコメントアウトしています。また文字クラスに '\w' と '_' が書かれていたのですが '_' は '\w' に含まれていて冗長なので削っています。

normal: r48542 2014-11-23 10:49:45 +0900

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

normal: r48543 2014-11-23 10:49:57 +0900

構造体 struct rb_execarg, struct load_file_arg, struct args_info などのメンバーの順番の入れ換えで x86-64 環境でのサイズを削減しています。

ktsj: r48544 2014-11-23 12:37:53 +0900

gems/bundled_gems の power_assert のバージョンを 0.2.2 にしています。

nobu: r48545 2014-11-24 02:02:43 +0900

parse.y で intern_cstr() を呼んでいるところを TOK_INTERN() という専用のマクロがあったのでそれを使うようにリファクタリングしています。

nobu: r48546 2014-11-24 02:03:08 +0900

$stdout, $stderr, $> などに代入するオブジェクトは write メソッドが実装されていないといけないので、そのチェックをしています。そこで発生させる例外のメッセージにクラス名やメソッド名を PRIsVALUE を使ってエンコーディングを保持したまま埋め込むようにしています。

svn: r48547 2014-11-24 02:03:15 +0900

version.h の日付更新。

nobu: r48548 2014-11-24 02:03:32 +0900

RubyVM::InstructionSequence の disassemble の時のメソッド名を PRIsVALUE を使って埋め込むようにしています。

nobu: r48549 2014-11-24 02:03:48 +0900

特殊変数 $/ には nil か 文字列しか代入できないのでチェックをしていますが、ここでも変数名を PRIsVALUE を使って埋め込むようにしています。
変数名は固定じゃないか…と思うのですが、テストをみるとグローバル変数名って alias で別名が付けられるんですね。知らなかった…。メソッドだけだと思ってた。