ruby-trunk-changes r61242 - r61281

今日は標準添付ライブラリ net/ftp脆弱性修正や Intelコンパイラ icc 対応や --dump=parsetree の表示の修正や追記などがありました。

nagachika: r61242 2017-12-14 22:41:30 +0900

標準添付ライブラリ net/ftp でファイルを開く時に Kernel#open を利用していたため、pipe 経由で外部コマンド起動される恐れがあったのを修正しています。

naruse: r61261 2017-12-15 01:47:28 +0900

Intelコンパイラ icc で -Werror で警告をエラーにしようとしても無視されるそうなので configure で -Werror は使わないようにしようとしています。けど yes と no が反対みたいですね。

  • Werror をつけても無視されるだけだけど、拡張ライブラリのビルド時に -Werror=xxx を -Wxxx に置換するみたいで、その時にビルドエラーになるから削っておかないといけない、ということみたいです。

svn: r61262 2017-12-15 01:47:29 +0900

version.h の日付更新。

naruse: r61263 2017-12-15 03:33:33 +0900

r61261 の再修正。 icc の時のフラグが yes/no 反対だったので修正しています。

eregon: r61265 2017-12-15 04:26:04 +0900

NEWS ファイルに Thread.report_on_exception = true のデフォルト化について追記しています。 [ruby-core:83979] [Feature #14143]

normal: r61266 2017-12-15 05:02:15 +0900

標準添付ライブラリ webrick の .gemspec ファイルのメンテナ追記とバージョンを 1.4.0 に更新しています。

usa: r61267 2017-12-15 12:04:56 +0900

tool/merger.rb の tag サブコマンドで svn tag を打つ時に、既に同じ tag がある状態だと二重にディレクトリツリーができてしまうそうなので、svn info して存在しないかチェックしておくようにしています。これについては悲劇的逸話があって(以下略)。

nobu: r61268 2017-12-15 12:07:10 +0900

thread.c の terminate_all(), thread_join_sleep(), thread_join() などの関数で thread_debug() 関数で出力するデバッグメッセージに Thread の id だけでなく status も表示するようにしています。

usa: r61269 2017-12-15 12:22:51 +0900

tool/merger.rb に removetag というサブコマンドを追加しています。 r61267 とも関係しますが、一度 tag を打ったあと修正漏れなどがあって打ち直す時は tag を削除してから打ち直さないといけないのですが、その時は svn rm を使ってたのをツールを使って消せるようにしています。

mame: r61270 2017-12-15 14:55:08 +0900

ruby --dump=parsetree で AST をダンプする時の NODE_WHEN と NODE_BREAK の名前が他のノードのものになってたのを修正しています。

mame: r61271 2017-12-15 14:55:09 +0900

同じく --dump=parsetree での NODE_CASE2 のダンプメッセージにどういう時に使われるのか追記しています(case に値が渡されたなかった時に使われるみたい)。

mame: r61272 2017-12-15 14:55:10 +0900

同じく --dump=parsetree で NODE_HASH のダンプ時の説明を修正。

mame: r61273 2017-12-15 14:55:11 +0900

同じく --dump=parsetree で NODE_?ASGN のダンプ時のメッセージに変数の種類を表示するようにしています。

nobu: r61274 2017-12-15 16:27:04 +0900

thread.c の thread_join_sleep() で sleep_forever() を呼んでたところをインラインに展開しています。ほとんど同じだけど native_sleep() 前に RUBY_VM_CHECK_INTS_BLOCKING() を呼ばないようにしているみたいです。デッドロックの修正とのこと。 [ruby-core:84248] [Bug #14181]

naruse: r61275 2017-12-15 16:58:00 +0900

Intel Compiler icc での警告除去のため -diag-disable オプションに渡す引数を少し変更しているようです。診断のうち無効にするものの id を増やしているようですね。

naruse: r61276 2017-12-15 16:58:02 +0900

configure での icc のバージョンのチェックを $CC が icc の時だけ実行するように AC_CASE の分岐の中に入れています。

rhe: r61277 2017-12-15 17:19:32 +0900

拡張ライブラリ openssl のテストで Thread.report_on_error = true のデフォルト化でメッセージが出るようになったので Thread#report_on_error= で抑制するようにしています。

naruse: r61278 2017-12-15 17:26:33 +0900

IO.new の rdoc 用コメントのオプション引数の external_encoding の説明を削除しています。 チケットをみるとオプション自体が使えないというわけではなくて、"-" で Encoding.default_external を指定したことになるという記述が間違いだったみたいで、後で復活されてます。 [ruby-core:81665] [Bug #13655]

naruse: r61279 2017-12-15 18:43:40 +0900

configure.ac の icc のバージョンチェックの再修正。検出できなかった時に icc_version に 0 をセットするのは AC_CASE() の外で行なうようにしています。 $icc_version は icc じゃない時も参照されるので。

kazu: r61280 2017-12-15 20:52:40 +0900

NEWS ファイルのメソッドの記法の修正。

kazu: r61281 2017-12-15 20:52:41 +0900

r61278 で IO.new のオプション引数の external_encoding が消されてましたが、 "-" の指定についてだけ消して項目自体は復活させています。 [ruby-core:81665] [Bug #13655]