ruby-trunk-changes 2019-09-23

今日は st.c の関数群の prefix を rb_st_ に改名する変更や tool/make-snapshot の作成するパッケージ再現性を高める変更などがありました。

[5f35b8ca30] Yusuke Endoh 2019-09-22 13:12:18 UTC

st_xxx() の関数名を全て rb_st_xxx() と rb_st_ を prefix にするようにしています。 st.c は元々外部の (public domain らしい)コードを持ってきてたものですが、ruby 内では既に大幅に改造が繰り返されていてオリジナルの st.c とは型も異なっているので両方使おうとする拡張ライブラリを書こうとすると関数名の衝突がおきるので改名しようということだそうです。互換性のため st_xxx のほうもマクロで置換するようにしています。型名も変えるのかな。 https://github.com/ruby/ruby/pull/2479

[7fe7dec7e5] Nobuyoshi Nakada 2019-09-22 12:56:58 UTC

tool/make-snapshot でパッケージの .zip アーカイブを作るための zip コマンドのオプションに -X を追加しています。 uid/gid と atime の情報を落とすようにするためのものみたいです。

[b0d24e262f] Nobuyoshi Nakada 2019-09-22 13:26:07 UTC

tool/make-snapshot に gzip 圧縮に 7z を使わないようにするオプション -no7z を追加…とあるのですがグローバル変数 $no7z を参照してるだけでセットしてるところがないんですよね…と思ったら shebangruby -s って書かれてたので、この -s オプションで自動的にセットされるようでした。はー、こんなオプションあったのか。

[d8221a54f2] Kazuhiro NISHIYAMA 2019-09-22 15:55:48 UTC

.zip パッケージを作るために 7z コマンドを使う場合 -mtc=off というオプションも追加しています。 NTFS のタイムスタンプの保存を抑制するとのこと。

[2afe86e4be] git 2019-09-22 16:04:25 UTC

version.h の日付更新

[642dbb962c] Nobuyoshi Nakada 2019-09-22 16:25:17 UTC

tool/make-snapshot の最初に環境変数 TZ を UTC にしておいてアーカイブファイルのタイムスタンプを UTC ベースにするようにしています。zip ファイルはタイムゾーンの概念がないらしい。

[cadfaacb25] Lourens Naudé 2019-07-20 01:42:10 UTC

Thread の生成時に thread local storage、ここでは Ruby の Thread オブジェクトが保持する Thread#[], #[]= などでアクセスできる Hash オブジェクトのこと、の初期化を実際にアクセスするまで遅延するようにしています。

[142efba93e] Nobuyoshi Nakada 2019-09-22 17:20:43 UTC

cadfaacb2533d47d52dbb5dbefe724d7bf11112e で追加した rb_thread_local_storage() の宣言の修飾子の順番の修正とスタイルの修正。

[934507472c] aycabta 2019-09-23 08:26:38 UTC

標準添付ライブラリ reline の Reline::ANSI.prep でその時点での入力の IO から読めるぶんは読みためておくようにしています。 stty 実行するとバッファが消えるのでその前に書かれてたぶんを救おうとしているのだと思います。

[b443bdbdb9] aycabta 2019-09-23 08:31:41 UTC

934507472c92ccada3f30be183fea5066427efda の再修正で IO#select の待ち時間を 0.1 → 0.001 に短かくしています。

[8487193b10] Nobuyoshi Nakada 2019-09-23 10:22:31 UTC

拡張ライブラリ io/console の POSIX 環境でカーソル位置を取得するのにクエリ文字列を書き込みする IO が書き込み可能なモードで開かれていなかったら無視するようにしています。

[9e4be78ea8] Nobuyoshi Nakada 2019-09-23 10:27:18 UTC

8487193b109ab8cecea74ff383b01b5ecce172c4 で追加した direct_query() の追加修正。 fd が 0、つまり標準入力だった時には特別にかわりに標準出力にクエリを書き込むようにしています。