ruby-trunk-changes 2019-08-19

今日は sample/ の配下のサンプル集の修正/警告除去や GitHub Actions の Slack 通知対応などがありました。

[d8807e8b1a] Takashi Kokubun 2019-08-18 14:19:09 UTC

.github/workflows/ の各種 GitHub Actions の設定に Slack への通知を追加しています。

[e4c43207f9] Takashi Kokubun 2019-08-18 14:32:49 UTC

d8807e8b1a9d09ee1543e18618b4ef7e8203c616 の GitHub Actions から Slack への通知設定を revert しています。機能不足してたのでもうプラグイン? にちょっと手を入れようとしているみたいです。

[2f6c8ed26e] Takashi Kokubun 2019-08-18 16:49:51 UTC

.github/actions/notify-slack/action.yml というファイルを追加して GitHub Actions の Slack 通知機能を実装しています。へー、こんなふうに action を追加できるんですね。

[aa5fbb5a76] git 2019-08-18 16:50:18 UTC

version.h の日付更新

[e139d27748] Takashi Kokubun 2019-08-18 18:14:18 UTC

2f6c8ed26eec4ad2d2fdaa0823cc63ba32f4c7a2 で追加した .github/actions/notify-slack/action.yml はやっぱり削除して k0kubun/action-slack@v1.0.0 とリポジトリのタグ? を指定するようにしています。パラメーターの指定方法もちょっと変更になったみたいです。

[c100e3856a] Takashi Kokubun 2019-08-18 18:40:33 UTC

e139d27748a0548c0ae10fb483c7389caacd4b3d の GitHub Actions からの Slack 通知でコミットログが複数行になった時の不具合修正。

[d106f08291] Takashi Kokubun 2019-08-19 00:41:51 UTC

GitHub Actions の make test-bundled-gems の実行に continue-on-error: true をつけてエラーを無視するようにしています。コミットログによるとこれにより Slack 通知にも無視させることができるようです。

[4c13368972] Takashi Kokubun 2019-08-19 00:46:55 UTC

appveyor.yml の Webhook を使った Slack 通知で色付けのためにカラーコードを数字で指定していたのを good/danger などのキーワードを使うようにしています。

[bc1e2271af] Yusuke Endoh 2019-08-19 00:45:41 UTC

標準添付ライブラリ rdoc の parser の未使用のローカル変数の削除。

[574a9edfb3] Nobuyoshi Nakada 2019-08-19 05:34:13 UTC

Windows 環境での symlink の実装で特権ユーザーでなくても作れるように専用のフラグを create_symbolic_link() に追加するようにしています。 https://github.com/ruby/ruby/pull/2381

[1f3f50fb5e] git 2019-08-19 05:34:29 UTC

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

[d76be10df1] Yusuke Endoh 2019-08-19 05:43:15 UTC

missing/memcmp.c で if 文の条件部に代入文を書いてて警告が出たので、先にローカル変数へ代入しておいてそれを参照するように修正しています。

[39a43d9cd0] Benoit Daloze 2019-08-19 05:51:00 UTC

RubyVM およびその配下の rdoc 用コメントを RubyVM は CRuby というか MRI というか、ともかく C 実装の元祖の ruby 実装に特有のものを集めたものだというのを強調するようにしています。 https://github.com/ruby/ruby/pull/2113 [ruby-core:92109] [Bug #15743]

[6c2aa8689a] Takashi Kokubun 2019-08-19 05:59:58 UTC

.github/workflows/macos.yml でやはり brew update がたまに失敗するようで、sleep で時間をあけつつ 2回までリトライするようにしています。

[c5db4c28f9] Yusuke Endoh 2019-08-19 06:01:48 UTC

cont.c の fiber_initialize_coroutine() 内の不要な STACK_GROW_DIR_DETECTION を削除しています。未使用変数の警告の除去のため。

[4515bcc922] NAKAMURA Usaku 2019-08-19 06:37:28 UTC

tool/merger.rb で master の変更をマージするためにパッチを作る時に version.h の変更は取り除くようにしています。また git apply する時の pipe を binary モードで開くようにしています。

[1bd60c66d3] Nobuyoshi Nakada 2019-08-19 06:55:53 UTC

include/ruby/ruby.h の FL_USER19 の定義で RUBY_FL_USER19 を一旦 unsigned int にキャストするようにしています。たぶん RUBY_FL_USER19 が 32bit 整数だと最上位ビットなので、VALUE へのキャストで VALUE と int のサイズが違う場合に上位 bit が埋まってしまうのを避けるようにしているのだと思います。

[8108594f47] Nobuyoshi Nakada 2019-08-19 07:18:54 UTC

1bd60c66d385142d08f678f8a9563c311cfc3fe8 と同様に rb_thread_shield_waiting_inc() でビットフラグとして使う変数を unsigned long から unsigned int に変更しています。 int で十分だからとのこと?

[b4daa44270] Nobuyoshi Nakada 2019-08-19 07:32:57 UTC

error.c の環境変数 RUBY_ON_BUG が設定されてた時にそのコマンドに pid を渡してコマンド実行するためのコマンドラインを作る snprintf(3) で pid を埋め込むための指示子に PRI_PIDT_PREFIX マクロを利用するようにしています。

[45454bdb8b] Nobuyoshi Nakada 2019-08-19 07:37:29 UTC

標準添付ライブラリ cgi正規表現のマッチに Regexp#match より Regexp#=~ を使うようにしたり条件分岐を論理 OR (||) による制御構造を利用するようにしたりなどのリファクタリング。真偽値が欲しい場合は今だと Regexp#match? を使うようにしたほうがモダンなんじゃないかなって気もしますが。[追記]https://bugs.ruby-lang.org/issues/13083#change-63083 の Matz のコメントによると Regexp#match や #match? などは引数が nil の時に例外にしよう、という計画があるようなのでそのために =~ にするようでした。[/追記]

[605d2ce9b9] Kenichi Kamiya 2019-08-19 08:30:59 UTC

sample/dir.rb で表示するファイルの拡張子のフィルタリングに正規表現を使ってるところで \z を追加して正確にファイル名末尾にマッチしていることを確認するように修正しています。 https://github.com/ruby/ruby/pull/2385

[6dd9736c3a] David CARLIER 2019-08-19 08:36:28 UTC

macOS で rb_bug() などで異常終了した時のメッセージで libproc というライブラリを(可能なら)利用してメモリマップの情報を表示させるようにしています。おお、これ確か macOS だと別途ファイルでダンプされちゃうやつ(のうちの一部)ですかね。 https://github.com/ruby/ruby/pull/2384

[355acbafde] Hiroshi SHIBATA 2019-08-19 08:52:13 UTC

標準添付ライブラリ yaml の rdoc 用コメントのリポジトリの URL を変更。

[cda8664471] Kenichi Kamiya 2019-08-19 09:00:29 UTC

sample/list3.rb というサンプルコードで Point というクラスの to_s を再定義してたのを inspect を再定義するように修正しています。昔って inspect は to_s 呼ぶようになってましたね、そういえば…。 https://github.com/ruby/ruby/pull/2387

[97c377e2b1] Takashi Kokubun 2019-08-19 09:11:51 UTC

.travis.yml で macOS のビルドがたまにハングアップするので全リビジョンでのテストではなく定時的なビルドにみにしています。

[9b330200f8] Kenichi Kamiya 2019-08-19 09:16:45 UTC

sample/observ.rb のサンプルコードの未使用の変数除去。 https://github.com/ruby/ruby/pull/2388

[209ea85b54] Hiroshi SHIBATA 2019-08-19 09:37:22 UTC

標準添付ライブラリ uri のテストで明示的な require "envutil" を追加しています。また refute_match の引数に正規表現でなく文字列を渡してたので Regexp.compile するように修正しています。

[8882986d97] Kenichi Kamiya 2019-08-19 09:43:23 UTC

sample/ に似たようなサンプルがあったので削っています。 機能的には似てるけど実装は一応異なってますね。まあ今となっては sample/ のサンプル集もかなり役目を終えた感じはありますが。 https://github.com/ruby/ruby/pull/2389

[45bed2850e] Kazuhiro NISHIYAMA 2019-08-19 10:37:07 UTC

6c2aa8689ade82578e9e16be37e21e16eb7ce069 で GitHub Actions の macOS でのビルド時の brew update のリトライを追加したのを () で sub shell 起動してたのを { } によるブロックに変更し、また sleep と brew update の間も && で連結しています。