ruby-trunk-changes r63394 - r63409

今日は拡張ライブラリ openssl の更新、net/imapirb の不具合修正などがありました。

kazu: r63394 2018-05-11 21:12:57 +0900

test/ruby/test_syntax.rb で後始末の IO#close の呼び出しに後置 if を使っていたのを &. 演算子を使うようにしています。

svn: r63395 2018-05-11 21:12:59 +0900

version.h の日付更新。

shugo: r63396 2018-05-11 21:39:23 +0900

標準添付ライブラリ net/imap で send_string_data から send_literal に引数を1つだけ渡して呼ばれているけど、実際には 2つ引数が必要だったため ArgumentError が発生する状態だったようなので、第2引数を省略可能にしています。ついでに(?) send_string_data も第2引数に tag を受け付けることができるようにして send_data から tag を引き回すようにしています。 r58792 の時の追加漏れだったみたいですね。 [ruby-core:86990] [Bug #14750]

nobu: r63397 2018-05-11 22:01:36 +0900

parse.y で rb_imemo_tmpbuf_auto_free_pointer() を使った一時バッファの確保で ALLOC_N() のメモリ確保後に T_IMEMO 型オブジェクトの確保をしているところがあり、オブジェクト確保で例外が発生するとメモリリークする可能性があったので、先にオブジェクト確保してから ALLOC_N() でバッファ用メモリを確保するように修正しています。

ngoto: r63398 2018-05-12 00:46:21 +0900

ext/mkmf.rb で生成する .mk ファイルの cppflags 変数を RbConfig からセットしておくようにしています。 Solaris 10 で zlib のビルドが失敗していたそうです。 [ruby-dev:50539] [Bug #14746]

svn: r63399 2018-05-12 00:46:21 +0900

version.h の日付更新。

ngoto: r63400 2018-05-12 01:47:38 +0900

r62326 で tool/transform_mjit_header.rb で arch 毎の MJIT 用ヘッダを生成する時に gcc のエラーを検出してオプション追加する処理で SolarisGCC (4.6.2) ではちょっと違うメッセージが出るみたいで判定条件に追加しています。 [ruby-dev:50541] [Bug #14751]

ngoto: r63401 2018-05-12 02:21:37 +0900

configure.ac から Solaris 上の GCC の時に -std=iso9899:1999 というオプションを追加しようとしてた部分を削除しています。このオプションのかわりに -std=gnu99 をつけるようになっていて不要になっていたそうです。

stomar: r63402 2018-05-12 05:07:32 +0900

標準添付ライブラリ securerandom の rdoc 用コメントのサンプルコードが Kernel#p で結果を出力するように書かれてたところを削っています。

nobu: r63403 2018-05-12 10:24:16 +0900

rb_iseq_free() でポインタの NULL チェックの分岐をまとめています。 mjit_free_iseq() の呼び出しだけ iseq のみに依存してたんですが、この中で iseq->body にアクセスしているのでこれも iseq->body のチェックの中に入れる必要があったようです。

nobu: r63404 2018-05-12 10:24:18 +0900

続いて rb_iseq_free() などで iseq->body を一旦ローカル変数に受け取るリファクタリング

nobu: r63405 2018-05-12 10:26:39 +0900

IO.select の rdoc 用コメントの typo 修正。 https://github.com/ruby/ruby/pull/1872

rhe: r63406 2018-05-12 16:33:53 +0900

拡張ライブラリ openssl に upstream から 2.1.1 をマージしています。LibreSSL 2.7.0 とのビルド問題の修正などが含まれているそうです。

kou: r63407 2018-05-12 18:06:00 +0900

標準添付ライブラリ rssRSS::Parser.parse の最後に Hash をオプション引数として受け取って、従来の省略可能引数のかわりに :validate, :ignore_unknown_element, :parser_class などのオプションでも受け取れるようにしています。

nobu: r63408 2018-05-12 18:09:23 +0900

irb のテスト test/irb/test_context.rb での変数名 typo 修正。

nobu: r63409 2018-05-12 18:13:45 +0900

irb で例外発生後に直前の結果を格納している特別な変数 _ が更新されなくなるという不具合を修正しています。ちょっと前に irb で rescue されない例外を $! に入れるようにする変更があったからその関係かなと思ったら r63150 からとのことなのでそうみたいですね。 [ruby-core:86989] [Bug #14749]