ruby-trunk-changes r57584 - r57596

今日は拡張ライブラリ fcntl の defailt gem 化や、Thread#raise が SEGV することがあった不具合の修正などがありました。

akr: r57584 2017-02-09 23:28:27 +0900

Enumerable#slice_before の引数 initial_state を 2.3 以降削除したのに rdoc 用コメントのサンプルが追随していなかったので、ドキュメントを修正しています。 [ruby-core:79485] [Bug #13202]

kazu: r57585 2017-02-10 01:12:00 +0900

標準添付ライブラリ abbrev.rb とそのテストの magic comment frozen_string_literal を true に変更しています。

svn: r57586 2017-02-10 01:12:01 +0900

version.h の日付更新。

kazu: r57587 2017-02-10 09:58:45 +0900

標準添付ライブラリ base64 とそのテストの magic comment frozen_string_literal を true に変更しています。

kazu: r57588 2017-02-10 09:58:47 +0900

標準添付ライブラリ base64 で String#unpack と first を使っていたところを 2.4 から追加された String#unpack1 を利用するように書きかえています。

nobu: r57589 2017-02-10 10:13:22 +0900

テストライブラリの並列テストの通信部分で IO#puts を使っているところがありましたが、puts は改行を追加する時に別の write メソッドを呼び出しを行うので、マルチスレッドで書き込む場合に複数の行が繋がってしまう可能性があったので、呼び元で改行を追加した上で write メソッドで atomic に書き込むようにしています。

nobu: r57590 2017-02-10 12:58:01 +0900

ext/extmk.rb で生成する exts.mk の note というターゲットで表示する configure 時のエラー? を行毎に echo して表示するようにしているようです。 [ruby-core:79475] [Bug #13200]

nobu: r57591 2017-02-10 12:58:02 +0900

拡張ライブラリ openssl の extconf.rb で macOS のシステムの OpenSSL が壊れているので検出してリンクしないようにするのが openSUSE で誤検出してしまっていたようなので、チェックを darwin の時だけ実施するようにしています。 [ruby-core:79475] [Bug #13200]

nobu: r57592 2017-02-10 12:59:55 +0900

r57591 と同様に ext/openssl/deprecation.rb で configure による壊れた OpenSSL の検出結果を参照しているところがあったので、ここも RUBY_PLATFORM が darwin の場合だけチェックするようにしています。 [ruby-core:79475] [Bug #13200]

nobu: r57593 2017-02-10 13:24:08 +0900

拡張ライブラリ fiddle の extconf.rb で libffi を自前でビルドする時の submake を起動する時の移動先ディレクトリを $(@D) から $(LIBFFI_DIR) に修正しています。

nobu: r57594 2017-02-10 15:12:22 +0900

common.mk などで全体的に sub make を起動する時に mflags の変数を伝播させるようにしています。 nmake で環境変数による変数の伝播ができないためとのこと。また defs/gmake.mk で -j は sub make には伝播させないようにしています。

ko1: r57595 2017-02-10 17:15:39 +0900

Thread#raise による別 Thread への例外による割り込みで SEGV することがある不具合を修正。 rb_threadptr_raise() で対象の Thread が既に終了している時に不正に処理してしまっていたのでスキップするようにしています。 [ruby-core:57725] [Bug #8996]

hsbt: r57596 2017-02-10 18:41:15 +0900

拡張ライブラリ fcntl に .gemspec ファイルを追加して default gem 化しています。 [ruby-core:79494] [Feature #13206]