ruby-trunk-changes 2020-12-29

今日は拡張ライブラリ bigdecimalリファクタリングや修正と irb の表示の色付けの強化などがありました。

[09aca50fc4] Nobuyoshi Nakada 2020-12-28 10:52:14 UTC

gc.c と cont.c のコーディングスタイルの修正のみ。

[80d9e457c5] Kenta Murata 2020-12-28 11:26:28 UTC

拡張ライブラリ bigdecimal の VpNewVarArg() で引数チェックの冗長な分岐を整理するリファクタリング

[06b44f819e] Kenta Murata 2020-12-28 12:25:20 UTC

拡張ライブラリ bigdecimal の Kernel#BigDecimal() の rdoc 用コメントの第2引数のデフォルト値が書かれてなかったのを修正しています。

[d11b78f9c4] Kenta Murata 2020-12-28 13:44:50 UTC

拡張ライブラリ bigdecimal の Kernel#BigDecimal の実装で先に struct RVALUE の slot を確保してたのを後にしています。が、これって多分 TypedData_Wrap_Struct() の時点でメモリ不足で例外が発生すると確保しておいた構造体領域がリークする潜在的な問題があるから先にオブジェクトを作るようにしていたんじゃないでしょうか。けどこの後このあたり大幅に変更されています。

[512e08895f] Kenta Murata 2020-12-28 18:36:31 UTC

拡張ライブラリ bigdecimal の VpNewVarArg() をリファクタリングして変換元の型ごとの変換関数 rb_xxxx_convert_to_BigDecimal() に分解しています。 Kernel#BigDecimal() の実装も rb_convert_to_BigDecimal() を呼び出すように変更されています。

[f8555cad2d] git 2020-12-29 04:09:21 UTC

version.h の日付更新

[1ffb267c5c] Masaki Matsushita 2020-12-29 06:40:08 UTC

78f188524f551c97b1a7a44ae13514729f1a21c7 で拡張ライブラリ socket の rsock_init_inetsock() に引数が追加されてたのに ext/socket/sockssocket.c の socks_init() の呼び出しで引数が追加されてなかったのを修正しています。マクロ SOCKS が定義されている時だけ使われる部分なので extconf.rb でオプションが渡されてないとコンパイルエラーにならなかったのではないかと思われます。 [ruby-core:100139] [Feature #17187]

[c715fb46c2] Takashi Kokubun 2020-12-29 06:16:08 UTC

標準添付ライブラリ irb の出力の色付けに使う pp を利用した IRB::ColorPrinter というクラスを追加しています。

[f9e80af28a] Takashi Kokubun 2020-12-29 06:32:30 UTC

c715fb46c2d8eab48323a6008c5dbca550ebe2e0 で追加した lib/irb/color_printer.rb を irb の gemspec ファイルの spec.files に追加しています。

[af9d4ee133] Takashi Kokubun 2020-12-29 06:40:20 UTC

irb のテストでおそらく c715fb46c2d8eab48323a6008c5dbca550ebe2e0 の変更で? 影響を受けて失敗してたものを修正しているようです。

[c0a2d322c6] Takashi Kokubun 2020-12-29 07:03:04 UTC

make help で表示するヘルプメッセージの make sync-default-gems のところに GEM 変数に git ref 名? の指定もできることを書いています。

[9b7ceb6765] Nobuhiro IMAI 2020-12-29 07:07:20 UTC

標準添付ライブラリ irbシンタックスハイライトで文法エラー時の表示のサポートを追加しています。 https://github.com/ruby/ruby/pull/3967

[f30a3a0629] Takashi Kokubun 2020-12-29 07:20:26 UTC

irb でオブジェクトの inspec 結果を表示する時の色付けで ripper でのパースで失敗するような文字列の時の対応を追加しているようです。

[6d07785127] Takashi Kokubun 2020-12-29 07:25:01 UTC

c715fb46c2d8eab48323a6008c5dbca550ebe2e0 の変更のうち dispatch_seq メソッドに追加した必須キーワード引数 ignore_error は削除しています。

[365df8d351] Nobuyoshi Nakada 2020-12-29 06:57:42 UTC

文字コード変換用のテーブル生成のツール tool/transcode-tblgen.rb でメッセージを STDERR でなく STDOUT に出力するようにしています。

[d57c5a7b61] Nobuyoshi Nakada 2020-12-29 07:42:24 UTC

tool/transcode-tblgen.rb のメッセージ出力を make の V=1 が指定された時だけ出力するようにしています。

[2f42243bce] Nobuyoshi Nakada 2020-12-29 07:51:50 UTC

make に -s/--silient オプションをつけた時にそれを伝播させるように? しているようです。

[13b520d578] Kenta Murata 2020-12-29 07:34:23 UTC

拡張ライブラリ bigdecimal の ToValue() と BigDecimal_check_num() の例外発生するかどうか選べるバージョン VpCheckException() を導入して 使いまわすようにするリファクタリング

[29d012c964] Kenta Murata 2020-12-29 07:35:25 UTC

拡張ライブラリ bigdecimal の rb_str_convert_to_BigDecimal() や rb_convert_to_BigDecimal() などで構造体を wrap するオブジェクトの slot 確保を構造体自体のメモリを確保する前にしています。 d11b78f9c420f39ee800b9feed4839cd28f4ff5c のところのコメントで書いてた問題がこれで対応されていると思います。

[47a1f5ff73] Kenta Murata 2020-12-29 08:14:36 UTC

拡張ライブラリ bigdecimal で stdbool.h がなかった時に bool, true, false などの代替の定義を追加するようにしています。

[208192fdb6] Nobuyoshi Nakada 2020-12-29 08:49:57 UTC

2f42243bceb60043ca06448a2b419724be0e6d0a で make の -s/--silent オプションを make reconfig に伝播させる時に -s でなく --silent を使うようにしています。 config.status は -s をサポートしてないのかな。