ruby-trunk-changes r59855 - r59865

今日は Random.urandom のエラー時の挙動の変更や rdoc や openssl や fiddle のテスト修正のマージなどがありました。

naruse: r59855 2017-09-12 21:49:38 +0900

.gdbinit に文字列オブジェクトの内容をクオートなしに printf(3) で出力する print_string というコマンドを追加して、他のコマンドでもこちらを利用するようにしています。

hsbt: r59856 2017-09-12 21:51:43 +0900

r59845 の rdoc の更新で IO.console.winsize を使っていたところを IO.console_size を使うように修正しています。 CI でドキュメント生成に失敗してたそうです。

rhe: r59857 2017-09-12 22:52:51 +0900

拡張ライブラリ openssl の upstream からテストの失敗修正を2つマージしています。

mame: r59858 2017-09-12 22:57:36 +0900

Random.urandom で getrandom(2) や arc4random(2) などのシステムコールも /dev/urandom からの読み込みも失敗した時に nil を返していたのを、例外発生させるようにしています。 [ruby-dev:50231] [Bug #13885]

normal: r59859 2017-09-13 03:41:05 +0900

cont.c の fiber_switch() の中のコメントで th->fiber と r59776 で変更した時の古い構造体のレイアウトに沿ったコメントが残っていたので th->ec.fiber と修正しています。

svn: r59860 2017-09-13 03:41:06 +0900

version.h の日付更新。

ko1: r59861 2017-09-13 08:15:34 +0900

r59854 の fiddle の変更で frozen_string_literal: true の magic comment にしたことで fstring になった文字列のバッファを Fiddle::Function を使って直に strcpy で書き換えるということをしてしまっていたのでエラーになってしまっていたので、 +"000" のように String#+@ を使って dup した文字列オブジェクトを利用するように修正しています。これデバッグの様子をみてたら、現象をみた時に「すわ fstring の不具合か GC か」と騒然としたけど実は C 関数で内容書き換えてましたっていうので結構おもしろかったです。

hsbt: r59862 2017-09-13 11:21:02 +0900

test/webrick/test_utils.rb のテストメソッド名の typo 修正。

hsbt: r59863 2017-09-13 11:36:46 +0900

lib/bundler/templates/Executable のファイルの mode を変更して実行権限を付与しています。

hsbt: r59864 2017-09-13 18:06:05 +0900

r59856 で一旦戻した rdoc の IO.console の使いかたですが、JRuby 向けの変更だったようなのでどちらでも動くように require "io/console/size" で LoadError が発生したら IO.console_size のほうを使うというように分岐するようにしています。

hsbt: r59865 2017-09-13 18:06:34 +0900

rdoc のファイルの encoding を指定する magic comment を削除しています。