ruby-trunk-changes r53238 - r53267

今日はリリース間際っぽく、標準添付されているライブラリのうち gem パッケージとしても配布されているものや、bundled gem のバージョンの更新や、rdoc の更新などの変更のほか、BasicSocket.for_fd の追加修正などがありました。

hsbt: r53238 2015-12-22 21:08:13 +0900

標準添付ライブラリ rdoc を upstream からマージして 4.2.1 に更新しています。いくつか不具合修正も含まれています。 https://github.com/rdoc/rdoc/pull/340 https://github.com/rdoc/rdoc/pull/341 https://github.com/rdoc/rdoc/pull/367 https://github.com/rdoc/rdoc/pull/368

mrkn: r53239 2015-12-22 21:20:28 +0900

拡張ライブラリ bigdecimal の gemspec のバージョンを 1.2.8 に更新しています。

hsbt: r53240 2015-12-22 22:09:06 +0900

NEWS ファイルに r53238 の rdoc 4.2.1 に更新したことを追記しています。

hsbt: r53241 2015-12-22 22:11:13 +0900

NEWS ファイルに psych のバージョン 2.0.17 への更新も追記しています。

nobu: r53242 2015-12-22 22:15:11 +0900

拡張ライブラリ io/console の io-console.gemspec ファイルもバージョンを 0.4.4 に更新しています。

nobu: r53243 2015-12-22 22:15:58 +0900

r53228 のリトライ。ObjectSpace.each_object でクラスの特異クラスが出現してしまうのを抑制しています。 [ruby-core:71682] [Bug #11740]

naruse: r53244 2015-12-22 22:45:14 +0900

r53231 の再修正。 BasicSocket.for_fd で不正な fd が渡された時に is_sock が偽を返してきたら ArgumentError ではなく Errno::EBADF を発生させるようにしています。開かれた file descriptor ではあるけど socket ではないっていう場合ですね。

nobu: r53245 2015-12-22 22:56:34 +0900

拡張ライブラリ io/console の io-console.gemspec でライセンスの記述を "ruby" から "BSD-2-Clause" に変更しています。

nobu: r53246 2015-12-23 01:41:34 +0900

rdoc のテストで .gz ファイルを開くときに open の mode に "rb" を指定してバイナリモードで開くようにしています。

svn: r53247 2015-12-23 01:41:53 +0900

version.h の日付更新。

nobu: r53248 2015-12-23 01:58:22 +0900

正規表現エンジン Onigmo の VM を direct threaded code にする高速化をデフォルトで有効にしています。USE_DIRECT_THREADED_VM を真に定義しているだけですけどね。

yuki: r53250 2015-12-23 02:30:22 +0900

gems/bundled_gems の did_you_mean のバージョンをついに 1.0.0 にしています。また NEWS ファイルにも did_you_mean.gem の bundled gems 化について追記しています。

nobu: r53251 2015-12-23 02:34:38 +0900

r53248 の再修正。 Onigmo の direct threaded 化は gcc の時だけ有効にするようにしています。確か goto のラベルを直接アドレス指定にする gcc 拡張とかを使ってた(YARV の場合ですが)と思うので gcc が必須なんだと思います。また regexec.c 内の direct threaded code 関連のマクロや変数定義を前のほうに移動しています。

nobu: r53252 2015-12-23 02:59:28 +0900

C99 mode で memset_s(3) を利用するために __STDC_WANT_LIB_EXT1__ というマクロを定義するようにしています。

normal: r53253 2015-12-23 03:08:49 +0900

r53231 および r53244 の BasicSocket.for_fd の修正のテストで BasicSocket.for_fd(-1) の時に発生する例外として ArgumentError も許容するようにしています。あー、fstat(-1) が成功して is_socket() が偽を返して ArgumentError が発生するプラットフォーム(たぶん Windows)があったということだったのですね。しかしこれは次で revert されています。

normal: r53254 2015-12-23 03:20:20 +0900

r53244 でそもそも常に Errno::EBADF を発生させるように修正されていたので r53253 は revert しています。

normal: r53255 2015-12-23 05:00:31 +0900

NEWS の冒頭に詳細な情報は ChangeLog を参照すること、と書かれていたところに Redmine のチケット番号があるものはそちらも参照できると追記しています。

normal: r53259 2015-12-23 07:28:31 +0900

BasicSocket.for_fd に timer thread への通知用 pipe の fd などインタプリタが内部で利用している file drscriptor は渡せないようにしています。 [ruby-core:72445] [Bug #11862]

yui-knk: r53260 2015-12-23 12:02:07 +0900

String#split の rdoc 用コメントの第1引数の省略時や明示的に nil が指定された時の扱いについての記述を修正しています。 [ruby-dev:49378] [Bug #11729]

a_matsuda: r53261 2015-12-23 12:43:23 +0900

標準添付ライブラリのコメントの typo まとめて修正しています。

nobu: r53263 2015-12-23 14:29:36 +0900

r53252 で追加した configure での __STDC_WANT_LIB_EXT1__ マクロの定義で、既に定義済みであれば上書きはしないように条件を追加しています。 gcc5 での警告除去のためとのこと。

nobu: r53264 2015-12-23 17:57:48 +0900

システムコールの失敗時に Errno::EXXXX 系の例外を発生させるのに errno を参照する rb_sys_fail() を使っていたところのうち、システムコールの直後に呼べないので errno を変数に退避させていたり、errno が別の関数から戻り値でかえされるものを使う場合など、errno に再代入してから呼んでいたところは、errno を引数として受け取る rb_syserr_fail() を利用して不要な errno アクセスを減らすようにしています。

nobu: r53265 2015-12-23 23:58:47 +0900

C API の rb_readwrite_sys_fail() の errno を引数として受け取るバージョンの rb_readwrite_syserr_fail() を導入して io.c や拡張ライブラリ socket でこちらを利用するようにしています。

nobu: r53266 2015-12-24 00:26:08 +0900

拡張ライブラリ io/console の gem パッケージが Windows 上でビルドできないのを修正。 gemspec の files に depend と win32_vk.inc が含まれていなかったのを修正しています。またこれに伴なってバージョンも 0.4.5 に更新しています。 [ruby-core:72453] [Bug #11866]
ext/io/console/buildgem.sh というファイルも追加されているけどこれはなんじゃろ。

svn: r53267 2015-12-24 00:26:29 +0900

version.h の日付更新。