ruby-trunk-changes r59469 - r59487

今日は VM stack 管理の追加修正や Dir.glob のキーワード引数 base の扱いの修正などがありました。

kazu: r59469 2017-08-03 00:10:38 +0900

標準添付ライブラリ cgiCGI#http_header の rdoc 用コメントのサンプルコードのカンマ抜け修正。 https://github.com/rurema/doctree/pull/448

svn: r59470 2017-08-03 00:10:39 +0900

version.h の日付更新。

kazu: r59471 2017-08-03 00:10:40 +0900

標準添付ライブラリ net/pop の Net::POP3.start の rdoc 用コメントのサンプルコードのクオート閉じ忘れ修正。 https://github.com/rurema/doctree/pull/455

kazu: r59472 2017-08-03 00:10:42 +0900

標準添付ライブラリ net/pop の Net::POP3 の rdoc 用コメントのサンプルコードの変数名 typo 修正。

kazu: r59473 2017-08-03 00:10:43 +0900

標準添付ライブラリ net/ftp の Net::FTP.build の rdoc 用コメントのサンプルコードの配列のかっこ閉じ忘れの修正。 https://github.com/rurema/doctree/pull/462

ko1: r59474 2017-08-03 06:48:51 +0900

r59462 の続きみたいです。 VM stack の管理は Fiber ではなくて Thread 側で責任を持つように r55766 あたりで変更されているので、それにあわせて fiber_current() で fib->cont.saved_thread の ec.stack を NULL クリアするようにしています。

nobu: r59475 2017-08-03 09:53:25 +0900

rubyspec の C API 用のテストで子プロセスで make を起動する時に jobserver 用の fd を受け渡すため close_others: false オプションを付けていたのを、オプションをみて必要な fd を割り出してそれだけ autoclose: false に設定した IO オブジェクトで wrap して close させないようにしています。 close_on_exec フラグが付けられてしまうことがあるみたいです。

nobu: r59476 2017-08-03 11:14:51 +0900

r58858 あたりで追加した Dir.glob のキーワード引数 base ですが明示的に nil や空文字列を渡してもエラーにしないようにしています。 [ruby-core:78767] [Feature #13056]

usa: r59477 2017-08-03 12:25:46 +0900

win32/configure.bat の --help オプションでの出力に --with-opt-dir オプションについてのドキュメントを追加しています。

usa: r59478 2017-08-03 12:31:38 +0900

r59477 で win32/configure.bat に追記した --with-opt-dir オプションの説明で $PATH_SEPARATOR を展開して ";" に変更しています。

nobu: r59479 2017-08-03 12:39:33 +0900

Dir.glob のキーワード引数 base に相対パス相対パスで開かれた Dir オブジェクトを渡された時にも機能するように修正しています。 [ruby-core:78767] [Feature #13056]

nobu: r59480 2017-08-03 12:41:50 +0900

r59477 および r59478 の続き。 win32/configure.bat の --help メッセージの typo 修正。

nobu: r59481 2017-08-03 13:13:12 +0900

Dir.glob の実装 glob_helper() で #ifndef DT_UNKNOWN の分岐を if の条件部の中にして、不要な lstat(2) の呼び出しを避けるようにしています。条件部が #if で分岐するのちょっと気持ちわるいですけどね。

nobu: r59482 2017-08-03 16:08:00 +0900

ext/pathname/pathname.c で動的に rb_intern() で ID を作成していたところを、InitVM_pathname() で初期化時に static 変数に作っておいて使いまわすようにしています。

nobu: r59483 2017-08-03 17:09:24 +0900

include/ruby/ruby.h の rb_yield_values() や rb_funcall() のマクロ定義で gcc 拡張を使って可変長引数を配列にして関数呼び出しするようにしていたところで、引数の数が 0 だったらポインタを渡さず NULL を渡すようにしています。空の静的配列へのポインタを渡すと clang の場合問題があったみたいです。

nobu: r59484 2017-08-03 17:11:57 +0900

標準添付ライブラリ pathname の ext/pathname/lib/pathname.rb で rdoc によるドキュメント化を抑制するタグを追加しています。

naruse: r59485 2017-08-03 18:39:25 +0900

misc/test_lldb_cruby.rb という misc/lldb_cruby.py のテストを追加しています。ファイルの配置は Python の流儀(?)だけどテストの実装は ruby なんですね。当然テストの実行には lldb が必要です。

svn: r59486 2017-08-03 18:39:26 +0900

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

kazu: r59487 2017-08-03 21:31:21 +0900

test/ruby/test_dir.rb の assert_entries という独自 assertion メソッドの引数名を変更しています。 dir.c の変数名に合わせたとのこと。