ruby-trunk-changes r59840 - r59854

今日は Windows 環境での IO::Console#winsize= の修正や rdoc, fiddle などの upstream を持つ標準添付ライブラリのバージョン更新がありました。

mame: r59840 2017-09-11 21:44:51 +0900

標準添付ライブラリ securerandom の SecureRandom#gen_random で Random.urandom が使えるかチェックする時に、引数が 0 だと実際には /dev/urandom を利用できないのに成功してしまって openssl の実装へ fallback する処理が動かないので、チェック用の呼び出し時には引数に 1 を渡して利用可能かチェックするようにしています。 2回目以降はメソッド自体 alias されるので余計な呼び出しはされないようになっています。

nobu: r59842 2017-09-12 05:10:33 +0900

拡張ライブラリ io/console の IO#winsize= のテストを defined?(IO.console) の条件つきで定義するようにしています。そもそもメソッドが未定義な環境への対応かな。

svn: r59843 2017-09-12 05:10:34 +0900

version.h の日付更新。

nobu: r59844 2017-09-12 05:10:34 +0900

r52475 あたりの Windows 環境での拡張ライブラリ io/console による IO#winsize= の対応の追加修正。端末サイズを小さくする時も SetConsoleScreenBufferSize() を呼び出すようにしています。また SetConsoleWindowInfo() に渡すサイズの指定が縦横ともに大きかったのを修正し、SetConsoleWindowInfo() が失敗した時に引数のウィンドウサイズが書き換えられるみたいなので、それを使って SetConsoleScreenBufferSize() からやりなおすようにしています。 [ruby-core:82741] [Bug #13888]

hsbt: r59845 2017-09-12 12:42:54 +0900

標準添付ライブラリ rdoc を upstream から 6.0.0.beta2 をマージしています。 ruby スクリプトの parse に ripper を利用するようにして精度を上げているみたいです。

svn: r59846 2017-09-12 12:42:55 +0900

r59845 の行末の空白除去。

svn: r59847 2017-09-12 12:42:56 +0900

r59845 の新規追加ファイルの svn property 設定。

hsbt: r59848 2017-09-12 14:19:20 +0900

lib/rdoc/rdoc.gemspec で require_relative "lib/rdoc" していましたが、これはソースディレクトリだけで load 可能なので、 LoadError を rescue して "../rdoc" も試すように修正しています。

hsbt: r59849 2017-09-12 17:38:06 +0900

標準添付ライブラリ csv の gemspec ファイルでバージョンの更新と spec.files の修正。また lib/csv.rb の 冗長な private を削除しています。

hsbt: r59850 2017-09-12 19:40:58 +0900

tool/sync_default_gems.rb で bundler のテスト用のディレクトリコピーに -r オプションを追加しています。

kazu: r59851 2017-09-12 20:15:25 +0900

lib/rdoc/rdoc.gemspec の encoding 指定の magic comment を coding: utf-8 に修正しています。 emacs でのエンコーディング指定が効かなかったみたいです。

kazu: r59852 2017-09-12 20:15:26 +0900

.editorconfig の記述の順番をソートしています。

kazu: r59853 2017-09-12 20:15:27 +0900

.editorconfig に *.gemspec の時のルールを追記しています。

hsbt: r59854 2017-09-12 20:52:23 +0900

拡張ライブラリ fiddle に upstream の 1.0.0.beta2 をマージしています。 internal.h への依存を消して独立した gem としてコンパイルできるようにしているようです。また frozen_string_literal: true の magic comment に変更して文字列リテラルが fstring になるようにしています。