ruby-trunk-changes 2021-01-13

今日は拡張ライブラリbigdecimal の最適化、irb/reline の不具合修正、ostruct の不具合修正のほか defined? の不具合修正、Time.new に渡す offset 引数のフォーマットの対応拡張などがありました。

[344a824ef9] Kazuhiro NISHIYAMA 2021-01-12 13:12:02 UTC

Object#then の rdoc 用コメント内のサンプルで URI.open().read を使ってたのを URI().read を使うように書き換えています。URI#read のほうが昔からあるメソッドで、さらに open したまま close してないという問題もなくなるので。

[9fa478e38a] aycabta 2021-01-11 16:13:53 UTC

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

[44817db28b] aycabta 2021-01-08 15:40:10 UTC

標準添付ライブラリ reline の Reline::LineEditor のヒストリのインクリメンタル検索で複数行のコマンドの時の表示に問題があったようで修正しています。

[eb5a094fc0] aycabta 2021-01-08 17:13:23 UTC

標準添付ライブラリ reline の Reline::LineEditor で行末で Delete キーが押された時のカーソル移動についてマルチバイト文字対応? をしているようです。

[0e44247508] aycabta 2021-01-11 16:15:33 UTC

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

[79d236a9f1] git 2021-01-12 16:13:31 UTC

version.h の日付更新

[6670de82c2] Kenta Murata 2021-01-12 13:56:54 UTC

拡張ライブラリ bigdecimal の Kernel#BigDecimal() で nil, true, false などから変換しようとした時の例外メッセージをわかりやすくしています。

[2175c2c957] Kenta Murata 2021-01-12 13:51:29 UTC

拡張ライブラリ bigdecimal で NaN, Infinity などの特別な値を BigDecimal に変換した結果のオブジェクトは毎回つくらずに static 変数に格納しておいたのを使いまわすようにしています。値は初期化時の Init_bigdecimal() の呼び出し時点で作っておくようにしています。

[4ba3a4491e] Kenta Murata 2021-01-12 13:58:17 UTC

拡張ライブラリ bigdecimal の rb_float_convert_to_BigDecimal() を一度 Rational に変換してから BigDecimal に変換していたのを BigDecimal_dtoa() で文字列化したものを元に変換するようにしています。高速化のためだそうです。

[28321e400e] Kenta Murata 2021-01-13 00:08:48 UTC

拡張ライブラリ bigdcimal の依存関係 ext/bigdecimal/depend を更新しています。

[0a4f719a06] Kenta Murata 2021-01-13 00:36:17 UTC

ext/bigdecimal/depend を再度更新しています。

[30f1316401] Hiroshi SHIBATA 2021-01-13 02:27:30 UTC

拡張ライブラリ socket の UDPSocket のテストでレスポンスが得られたかった時の例外を補足して skip するようにしています。環境依存のテスト失敗を吸収するためかな。

[a5b4b806de] Kenta Murata 2021-01-13 01:28:23 UTC

拡張ライブラリ bigdecimal の Float からの変換で GetVpValueWithPrec() を呼ぶ時の digits 引数を 0 にしています。4ba3a4491e15ed50f26c8f7a602fb4ef5452085a の最適化により 0 を渡しても大丈夫になったみたいですね。

[083c5f08ec] Nobuyoshi Nakada 2020-12-10 13:00:11 UTC

Dir.glob に "**/*" を渡した時に配下のディレクトリツリーが深いと stack overflow になることがあるので stack_check() の呼び出しを追加しています。 [ruby-core:99967] [Bug #17162]

[d8fb0bca54] Nobuyoshi Nakada 2021-01-13 03:47:42 UTC

vm_dump.c で rb_bug() などで表示する CPU レジスタのその時点での値を表示する時にレジスタ名によけいなクオート記号がついてたのを削除しています。 [ruby-core:102045] [Bug #17532]

[f48edc28dd] Marc-Andre Lafortune 2021-01-12 22:20:50 UTC

標準添付ライブラリ ostruct で OpenStruct#is_method_protected! でメソッドが Module から mixin されたものだった時の対応を追加しています。

[30a35420e6] Marc-Andre Lafortune 2021-01-12 23:32:23 UTC

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

[9441f3f970] Nobuyoshi Nakada 2021-01-03 15:07:10 UTC

Time.new などの引数で offset として文字列表記を受け付ける時に "+0900" のように ":" で区切られてない表記も受け付けるようにしています。 [ruby-core:101888] [Bug #17504]

[85b5d4c8bf] Nobuyoshi Nakada 2021-01-13 07:49:05 UTC

fac2498e0299f13dffe4f09a7dd7657fb49bf643 の defined?(super) で respond_to_missing? を呼び出してそれを反映させるようにしてたのを revert しています。 respond_to? の実装が super を呼んでると defined? が例外を発生させてしまってたようです。 [ruby-core:101912] [Bug #17509]

[6f6dfdcc68] Nobuyoshi Nakada 2021-01-09 07:52:51 UTC

コマンドラインオプションの -w や -W で $VERBOSE や Warning[category] を指定した時に -r でロードしたスクリプトを実行する時に Warning[category] の指定は反映されてなかったので、rb_warning_category_update() の呼び出しを早めて -r で読み込んだスクリプト実行にも反映させるようにしています。 [ruby-core:101991] [Bug #17523]