ruby-trunk-changes 2019-05-05

今日は numbered parameter に関する SyntaxError の修正や case 文の重複した when 節に対する警告を parse 時に発生させるようにする変更などがありました。

[b9e52db283] Nobuyoshi Nakada 2019-05-04 22:00:22 +0900

time.c の time_isdst() で vtm.isdst が未初期化のケースをチェックして例外を発生させているようにしています。

[a380f4c2b7] Marcus Stollsteimer 2019-05-04 15:31:21 +0200

prelude.rb の rdoc 用コメントの文法修正など。

[848edb03f8] Masatoshi SEKI 2019-05-04 23:32:13 +0900

8980b53a48b1f55e09c5223008225e6bfa765405 で追加した DRbObject で参照されてるオブジェクトが GC で回収された時のテストが不確実なので削除しています。

[ff21e75d32] Nobuyoshi Nakada 2019-05-05 00:29:12 +0900

compile.c の case_when_optimizable_literal() に prefix rb_ を追加して非 static 関数にして parse.y からもこれを呼んで case 文の重複した when 節の警告を parse 時に出すようにしています。コミットログによると ruby -wc で parse のみ実行するようにしても警告が出るようにするためだそうです。 なるほど -c の時は compile はしないのか。

[f1b52d3a88] git 2019-05-05 11:13:54 +0900

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

[84e71e9fc1] git 2019-05-05 11:13:58 +0900

version.h の日付更新。

[374c8f4eba] Nobuyoshi Nakada 2019-05-05 14:35:35 +0900

ARGF.each の rdoc 用コメントに ARGF.lineno (複数のファイルが引数に指定されてた時は連結したものとみなした行番号を返す)について説明を追加しています。 [ruby-core:92539] [Bug #15823]

[b8f3be295b] Jeremy Evans 2019-05-05 14:46:39 +0900

ブロックに |var| で通常のブロックパラメーターが宣言されている時に numbered parameter の参照を SyntaxError にする処理が特定の文法で効いてなかったのを修正しています。 [ruby-core:92543] [Bug #15825]

[0c0ed1cee8] Jeremy Evans 2019-05-05 15:33:10 +0900

引数のデフォルト値に lambda を作ってそのブロック内で numbered parameter を使った時の修正ですが、このコミットではテストの追加のみしていて、実際の修正は次の bb4ac7a6506971dc34b5656f1a69aadc7299fcab で行なわれています。 [ruby-core:92400] [Bug#15789]

[bb4ac7a650] Jeremy Evans 2019-05-05 16:32:45 +0900

0c0ed1cee8aa8c538cc81f0daef26737eb2d5d0d の続きで -> 記法の lambda の 引数のデフォルト値に ->() 記法の lambda を使ってそのブロック内で numbered parameter を使うと(おそらく外側の lambda に引数があるため) SyntaxError になっていたのを修正しています。ネストした状態管理大変。 [ruby-core:92400] [Bug#15789]

[35ff4ed47f] Marcus Stollsteimer 2019-05-05 09:51:40 +0200

String#dump と String#undump の rdoc 用コメントの説明を多少具体的にしています。