ruby-trunk-changes r65365 - r65379

今日は dynamic variable による外の scope の変数の遮蔽の警告をやめる変更などがありました。

nobu: r65365 2018-10-26 10:47:09 +0900

Time の timezone 関連のテストで tzdata パッケージの更新(?)に対応するように分岐を追加しています。また(過去の)サマータイムの扱いに変化があったのかな。

svn: r65366 2018-10-26 10:47:14 +0900

version.h の日付更新。

mame: r65367 2018-10-26 11:54:01 +0900

ブロックパラメーター(do |x, y| ... end の x, y)やブロック内で初めて代入された変数などの dynamic variable が外のスコープの local variable や dynamic variable と同じ名前の時に "shadwoing outer local variable" って警告が出るようになってましたが、それをやめています。元の警告の意図もわかるのでううーん、という感じでしたが、確かに実際には警告避けのためだけに変数名変えるのが面倒だったりしますね。一方 shadowing の警告でバグに気がついたことは、1,2 度はあるかも…くらいかなぁ。 [ruby-core:76028] [Feature #12490]

mame: r65368 2018-10-26 12:08:10 +0900

r65367 を revert しています。 patch 提供者の名前を書くのを忘れてたとのこと。

mame: r65369 2018-10-26 12:10:02 +0900

r65367 のリトライ。コミットログにパッチ提供者の名前とメールアドレスを追加。 [ruby-core:76028] [Feature #12490]

nobu: r65370 2018-10-26 13:46:24 +0900

r65369 の NEWS ファイルへの追記でのサンプルコード部分をインデントして rdoc に code block として処理されるようにしています。

normal: r65371 2018-10-26 14:32:47 +0900

Hash#[]= で key として使われているのが文字列で、tainted フラグが立ってなければ、fstring 化してから st_table に挿入するようにしています。これ最適化かと思ったけど逆にパフォーマンスには悪影響があるんですね。けど st_table の実装の高速化でインパクトが小さくなってると思うので入れてみたとのこと。 [Bug #9188] [ruby-core:89555] [Feature #15251]

nobu: r65372 2018-10-26 15:18:28 +0900

r65371 の rb_hash_key_str() をリファクタリングして条件文をまとめてシンプルにしています。なんとなく FL_SINGLETON のフラグのチェックはどこかから湧いて出てきてるような気もしますが。 [ruby-core:89549] [Feature #15251]

svn: r65373 2018-10-26 15:18:30 +0900

r65372 のインデントのタブを空白に展開。

nobu: r65374 2018-10-26 15:41:34 +0900

r65371、r65372、r65373 のさらに続きで r65372 で fstring_existing_str() から変形して改名した fstring_key_str() という関数も削除して呼び元の rb_hash_key_str() で key が文字列なら問答無用で rb_fstring() を呼ぶようにしています。 常に Hash の key が文字列の時常に fstring なら存在してるかどうかチェックする必要もないだろ、ということかな。ただ rb_objspace_garbage_object_p() のチェックをはずしても大丈夫なのかな。と、思ったけどこれが真の時は結局 rb_fstring() を呼んでたわけで問題ないのか。 [ruby-core:89549] [Feature #15251]

k0kubun: r65375 2018-10-26 17:34:42 +0900

appveyor.yml で test-all の -j オプションなしで実行するほうにはテストに -v オプションを追加するようにしています。デバッグのためみたいです。

stomar: r65376 2018-10-26 21:16:25 +0900

NEWS ファイルの文法修正。

stomar: r65377 2018-10-26 21:19:04 +0900

Object#yield_self の rdoc 用コメントの typo やサンプルコードのスタイルの修正。

stomar: r65378 2018-10-26 21:21:22 +0900

Method#to_s の rdoc 用コメントの文法の修正。

stomar: r65379 2018-10-26 21:23:25 +0900

Method#=== と Proc#=== の rdoc 用コメントの英文修正。