ruby-trunk-changes 2019-08-06

今日は ObjectSpace::WeakMap の GC.compact での移動対応などがありました。

[4c15b241f8] Nobuyoshi Nakada 2019-08-05 04:29:53 UTC

include/ruby/ruby.h の rb_scan_args_count_block(), rb_scan_args_count_end()、rb_scan_args_count_hash()、rb_scan_args_count_trail() といったメソッド引数処理のマクロの未使用の引数 varc を削除しています。

[fb9dd6182a] Nobuyoshi Nakada 2019-08-05 04:43:22 UTC

rb_scan_args_count_end() や rb_scan_args_verify() といったマクロ定義で gcc の拡張属性に依存しない実装をするように変更しています。

[614c90fe21] Takashi Kokubun 2019-08-05 15:01:05 UTC

.travis.yml で addon による apt のパッケージインストールもやめて、before_install で独自に apt-get コマンドを呼ぶようにして失敗時にリトライするようにしています。

[48d460d9a6] git 2019-08-05 15:34:06 UTC

version.h の日付更新

[e80f407ed4] Takashi Kokubun 2019-08-05 15:43:46 UTC

aaf69a8ba866193863a7eafe5c6044844bd71bc3 と 076f3fcf11a061394d3d5f8c671512df1e983023 で Process のテストの sleep を長くしてたのを revert して Travis-CI の macOS ではこの 2つのテストは実行除外するようにしています。

[255e22a827] Takashi Kokubun 2019-08-05 15:49:41 UTC

614c90fe21cf1d9cf6fb18684187d8c7e2f61de6 の .travis.yml の追加修正で baseruby のジョブで gcc-8 の before_install を使うようにしています。

[33d7a58ffb] Aaron Patterson 2019-08-01 20:44:54 UTC

ObjectSpace::WeakMap に compact 処理を実装して、要素を pin しなくてすむようにしています。 https://github.com/ruby/ruby/pull/2314

[c9192ef2e8] git 2019-08-05 15:56:05 UTC

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

[81252c5ccd] Aaron Patterson 2019-08-05 18:32:42 UTC

e352445863588b90f7af6cdf6c1b6dc432ee33ab で Prev EP を GC.compact で移動可能にしたものの CI がエラーになったので 5ad2dfd8dce00f9fb4908adc786f12baaaf2b273 で revert したやつのリトライ。前回からの差分は gc_ref_update_imemo() で ep の指すオブジェクトを移動するのに VM_STACK_ENV_WRITE() を使ってたのを UPDATE_IF_MOVED() で直接書き換えるようにしています。 VM_STACK_ENV_WRITE() のほうだと内部の VM_ASSERT() などの assertion でオブジェクトの型のチェックをしていて、T_MOVED になっているとそこがひっかかってエラーになってしまってたそうです。 https://github.com/ruby/ruby/pull/2320

[2b6441196e] Jeremy Evans 2019-08-05 23:10:25 UTC

拡張ライブラリ syslog の Syslog.log の rdoc 用コメントのフォーマット文字列の指示子 %m についての記述を削除しています。実際にはサポートされていないため。 [ruby-core:46365] [Bug #6726]

[96cec6b277] Jeremy Evans 2019-07-15 02:39:57 UTC

RubyVM::InstructionSequence クラスの rdoc 用コメントにこのクラスは ruby の実装やバージョンによってクラス自体の有無や挙動が異なることを明記しています。 [ruby-core:46710] [Bug #6785]

[4f1a00a746] Justin Collins 2016-09-11 09:09:43 UTC

標準添付ライブラリ fileutils で操作するファイルが同一のパスを指してないかチェックする処理でファイルシステムが大文字小文字を区別するかで分岐してより厳密なチェックができるようにしています。 https://github.com/ruby/ruby/pull/1425

[146cf2f444] Espartaco Palma 2018-10-14 05:36:57 UTC

test/ruby/test_array.rb に冗長な assertion があったので削除しています。 https://github.com/ruby/ruby/pull/1790

[5cff9968ae] Nobuyoshi Nakada 2019-08-06 02:52:17 UTC

include/ruby/ruby.h の rb_scan_args() マクロ定義で(C の)可変長引数部分に引数が1つもない時にも対応できるようにしているようです。

[4daff3a603] Nobuyoshi Nakada 2019-08-06 02:56:37 UTC

マクロ rb_scan_args_verify() の評価値は使われていないので void にキャストして値を返さないことを明示的に宣言するようにしています。

[81a15d636e] aycabta 2019-07-31 15:39:30 UTC

標準添付ライブラリ reline の lib/reline/unicode/east_asian_width.rb のコメントに記述されている unicode.org のサイトへのリンクのバージョンを 12.1.0 のものに更新しています。

[d626ca1e98] aycabta 2019-07-30 17:13:21 UTC

lib/reline/line_editor.rb の不要になった TODO コメントを削除しています。

[842364792f] Charles Oliver Nutter 2019-07-27 06:18:39 UTC

lib/reline.rb で Windows 環境かどうか判定するのに RUBY_PLATFORM でなく RbConfig::CONFIG['host_os'] を参照するようにしています。 JRuby では RUBY_PLATFORM が "java" になるのでうまく判定できないのに対応するためだそうです。

[1ee88c51b3] Steven Willis 2019-03-20 18:50:05 UTC

irb で評価した文が代入文だった時には結果を表示しないようにしているそうです。 --echo-on-assignment オプションや inputrc の ECHO_ON_ASSIGNMENT の設定で表示するように戻すこともできるようです。

[43b52ac0a5] aycabta 2019-08-06 11:28:48 UTC

1ee88c51b3c319b74b69540e111e4a1c24833cad の代入文の評価値を表示しない変更を revert しています。