ruby-trunk-changes 2021-03-29

今日は標準添付ライブラリ optparse の更新や default gems の upstream からのマージに使うツール tool/sync_default_gems.rb の整備などがありました。

[36bad6f14f] Nobuyoshi Nakada 2021-03-28 13:58:43 UTC

tool/sync_default_gems.rb で default gems の upstream repo からのマージで範囲を指定せずに自動判定する時の git log からコミット参照を抜き出すときに git log に渡す --grep 引数をより厳密に抽出する時の正規表現をそのまま利用するようにしています。

[f7faac13c6] Nobuyoshi Nakada 2021-03-28 14:39:27 UTC

tool/sync_default_gems.rb で upstream repo をマージする時に無視すべきファイルを削除するのに git reset と git checkout HEAD だけだとファイル自体が消えないので File.unlink で削除するようにしています。

[989e22f394] Nobuyoshi Nakada 2021-03-28 14:42:38 UTC

拡張ライブラリ io/console のバージョンを 0.5.9 に更新しています。

[813c3333a9] Kenichi Kamiya 2021-03-28 16:02:21 UTC

Array#count の rdoc 用コメントで各要素が eql? で比較されると書かれてたのを == で比較されると修正しています。

[1cdecb4349] git 2021-03-28 18:18:08 UTC

version.h の日付更新

[a1938ec308] aycabta 2021-03-28 13:47:20 UTC

標準添付ライブラリ irb のテストで IRB::Irb.new する時に引数にわたすためのダミーの InputMethod クラスを導入しています。デフォルトの RelineInputMethod が使われると標準添付ライブラリ reline のグローバルな状態に影響があるのでそれを避けるためとのこと。

[875c85a8bd] David CARLIER 2021-03-23 18:39:36 UTC

cont.c の fiber_pool_allocate_memory() および fiber_pool_stack_free() で madvise(2) を利用する場合 errno=EAGAIN でかえってきたら成功するまで繰り返すようにしています。この while の書きかたはちょっとびっくりしますね。

[f46bbb2e99] Nobuyoshi Nakada 2021-03-29 02:35:38 UTC

813c3333a9364222523a9fe863df569300ac1ad1 の続き。Array#count の rdoc 用コメントで == で比較するのでたとえば Integer の 0 と Float の 0.0 が要素に含まれてた場合両方とも引数が 0/0.0 どちらでも数えあげられるというのを例に追加しています。なるほどそうか……。

[f16b9e7f26] Nobuyoshi Nakada 2021-03-29 06:14:21 UTC

tool/sync_default_gems.rb で upstream repo からコミットを cherry-pick した時のメッセージでコミット参照をメッセージに出力する時に明示的に改行("\n")で join してましたが puts は配列をわたすと自動で改行してくれるのでそれにまかせるようにしています。

[d87b8ce647] Nobuyoshi Nakada 2021-03-29 06:19:37 UTC

tool/sync_default_gems.rb で同期時に無視するファイルのパターンに COPYING ファイルを追加しています。

[d474b19b5b] Martin Rey 2020-10-12 09:47:00 UTC

misc/rb_optparse.zsh の使いかたを記述したコメントで .zshrc の置き場所を環境変数 ZDOTDIR を参照するように変更しています。

[eca8ffaa0b] Jeremy Evans 2019-07-01 22:19:16 UTC

標準添付ライブラリ optparse に OptionParser#require_exact というメソッドを追加して、long option の前方一致で自動的に補完して解釈する機能を抑制できるようにしています。 [Feature #11523]

[7846f3201a] BurdetteLamar 2021-03-28 17:24:21 UTC

標準添付ライブラリ optparse の rdoc 用コメントのサンプルで OptionParser.new のブロックパラメーターの名前を opts から parser に変更しています。

[e97f21afcd] Nobuyoshi Nakada 2021-03-29 06:26:18 UTC

標準添付ライブラリ optparse の gemspec ファイルの spec.files を git ls-files から抽出する処理で除外するファイルのパターンを増やしています。

[2bbae0e91a] Nobuyoshi Nakada 2021-03-29 06:36:16 UTC

misc/rb_optparse.bash と misc/rb_optparse.zshshebang を削除して、かわりに emacs のファイルタイプ指定の modeline? を追加しています。

[e8317d90b0] Nobuyoshi Nakada 2021-03-29 07:42:49 UTC

標準添付ライブラリ optparse で決してマッチしないようなオプションの指定があった時に OptionParser::InvalidOption 例外が発生するようにしています。 OptionParser#on に正規表現って渡せるんだ。 https://github.com/ruby/optparse/issues/3

[190a57b168] Nobuyoshi Nakada 2021-03-29 06:50:31 UTC

標準添付ライブラリ optparse のバージョンを 0.1.1 に更新しています。