ruby-trunk-changes r66439 - r66452

今日は Symbol#to_proc で作った Proc オブジェクトをブロック引数に渡した時に Refinements を効くようにする修正などがありました。

nobu: r66439 2018-12-18 22:59:46 +0900

r66149 あたりの Refinements が Symbol#to_proc で作った Proc オブジェクトをブロック引数に渡した場合などに効かない不具合修正のリトライ。 [ruby-dev:50638] [Bug #15114] https://github.com/ruby/ruby/pull/2039

nobu: r66440 2018-12-19 00:06:20 +0900

r66439 の続きで vm_caller_setup_arg_block() で rb_func_proc_new() に渡す配列オブジェクトを rb_ary_tmp_new() で作って内部的オブジェクト(ObjectSpace.each_object に現れないよう)にしています。

svn: r66441 2018-12-19 00:06:21 +0900

version.h の日付更新。

nobu: r66442 2018-12-19 00:11:17 +0900

r66439 の続きというかリファクタリングで resolve_refined_method() と refined_method_original_method_entry() で相互に再帰呼び出ししていたのを refined_method_original_method_entry() は削除して while() ループを使った実装にしています。

svn: r66443 2018-12-19 00:11:18 +0900

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

nobu: r66444 2018-12-19 01:01:58 +0900

defs/gmake.mk の make commit のルールで cd コマンドを CHDIR 変数の参照をするようにしています。コミットログみると symbolic link の解決後のパスを使うためらしい。

nobu: r66445 2018-12-19 01:11:07 +0900

r66442 の resolve_refined_method() のリファクタリングで警告除去のため変数に const 修飾子を追加。

normal: r66446 2018-12-19 03:25:54 +0900

割り込みタイマーの POSIX timer 実装の時に ubf_timer_destroy() でいきなり ATOMIC_SET() で timer_posix.state を RTIMER_DEAD にセットせずに ATOMIC_CAS() で競合がないことを確認しつつ RTIMER_DISARM の状態になるのを確認して DEAD にするようにループさせています。

kazu: r66447 2018-12-19 08:36:47 +0900

sample/fib.py にかっこなしの print があって Python 3 で動かなかったのを修正しています。なぜか sample/ にはいろんな言語(といっても最近のものはないですが)でフィボナッチ数計算するサンプルがありますね。

duerst: r66448 2018-12-19 09:26:31 +0900

tool/downloader.rb に --unicode-beta というオプションを追加して、環境変数 UNICODE_BETA で切り替えて(YES, NO を指定するらしい)なにかするようにしてますが、今のところ YES にした時の実装はされてません。

duerst: r66449 2018-12-19 13:08:46 +0900

r66448 の続きで tool/downloader.rb の download メソッドで :unicode_beta オプションの指定をみてなにかしてるんですが、うーんなにをしてるんだろうこれは……。この "assigned but unused variable..." っていう文字列はどこからくるんだろう。 [ruby-core:90615] [Bug #15434]

hsbt: r66450 2018-12-19 16:02:57 +0900

標準添付されている bundler の lib/bundler/build_metadata.rb の built_at と git_commit_sha という Bundler::BundlerMetadata のインスタンス変数(Module のインスタンス変数)を追加しています。

hsbt: r66451 2018-12-19 16:20:17 +0900

rubygems を 3.0.0 に更新しています。

normal: r66452 2018-12-19 20:08:05 +0900

標準添付ライブラリ webrickWEBrick::HTTPServer の create_request と create_response メソッドというのを追加して、Request/Response のオブジェクト生成をこのメソッドで行うようにしています。継承したクラスを作った時にこのメソッドを再定義して利用する Request/Response のクラスも変更できるようにするためだそうです。 [ruby-core:69604] [Feature #11266]