ruby-trunk-changes 2020-07-22

今日は irb と rdoc の更新や optparse の default gem 化などがありました。

[78ccab2530] aycabta 2020-05-31 23:53:07 UTC

irb でコードの色付けのために ripper でパースする時にコメントが不正な encoding の magic comment のようにみえるとエラーになってしまうのを抑制するために発生した例外のメッセージで検出して magic comment の前に ";" を追加してリトライするようにしています。 irb でマジックコメント? と思ったけどコメントを書いたらまあそのように見えますよね。

[1dfd24a7fc] aycabta 2020-06-01 10:22:50 UTC

78ccab25306d15c325baa0761d9505ac23956f22 の対応で同じ正規表現リテラルで 2回書いてたのでローカル変数に代入しておいて使いまわすようにしています。

[c72a2fad97] aycabta 2020-06-07 14:29:01 UTC

78ccab25306d15c325baa0761d9505ac23956f22irb に追加した RubyLex.compile_with_errors_suppressed がブロックを呼び出す時に渡す引数に lineno を追加して Ripper::Lexer に渡す行番号がずれないようにしています。

[4268084d69] aycabta 2020-06-08 15:10:14 UTC

78ccab25306d15c325baa0761d9505ac23956f22irb で encoding の magic comment みたいにみえるコメント行のエラー抑制についてのテストにもっとコメントのパターンを追加しています。

[b40e925c92] Masataka Pocke Kuwabara 2020-06-10 13:01:57 UTC

irb の評価結果を inspect で文字列化したものを色付けする時に inspect メソッドが定義されてないオブジェクトだった時にエラーメッセージを puts した後の nil が返されてしまっていたので空文字列 "" を返すようにしています。

[22d38d5475] aycabta 2020-06-24 09:41:10 UTC

b40e925c92753640ae05951fe9f69604b41fab32 の修正に対応するテストを追加しています。

[f6e789e3b0] Nobuhiro IMAI 2020-03-02 13:16:11 UTC

irbruby コードをパースする RubyLex で 後置 rescue のインデントの処理を修正しています。

[f76d67f484] aycabta 2020-05-26 14:25:50 UTC

標準添付ライブラリ rdoc の RDoc::Context#instance_method_list で obsoleted という警告を追加したために戻り値が nil になってしまっていたので位置を修正。なんかこういう変更見覚えがある。一回修正しなかったっけな……。

[38480ad507] Jeremy Evans 2020-06-11 22:02:28 UTC

rdoc で File の定数などを ri で表示できない? という不具合を修正しています。 C の rb_define_module_under() の parse の不具合修正みたいなんですが、変更されてるのは正規表現内のコメント部分なので、なんでこれで修正になるんだろう? [ruby-core:92531] [Bug #15819]

[7693aa7056] Benoit Tigeot 2020-07-02 20:33:09 UTC

rdoc の HTML 生成するテンプレートで不要な空行を削るように trim mode を使うようにしています。

[02951a45f0] hyrious 2020-07-21 14:55:04 UTC

rdoc で単項演算子風メソッドへの cross reference のリンク化が正規表現の不備でできていなかったらしい不具合を修正しています。

[1d0e8fd4bb] git 2020-07-21 17:42:15 UTC

version.h の日付更新

[0faf02718a] aycabta 2020-07-21 18:13:10 UTC

22d38d54751e3e23144d4b4e1fb8ed67626c89c8 で追加した irb のテストの assertion を assert_pattern_list を使うために引数が複雑になってたのをただの assert_equral を使うようにしてシンプルにしています。

[ee2529dffe] aycabta 2020-07-21 18:49:17 UTC

0faf02718a75fb7c338c9ec7c27b284b4cf2f874 で書きかえた assertion をさらに正規表現とただの assert を使うように書きかえてますが、これ assert_match の間違いじゃないかな?

[20172672db] aycabta 2020-07-21 19:11:38 UTC

lib/irb/color.rb に明示的な require 'irb/ruby-lex' を追加しています。

[8a974e0fcb] BurdetteLamar 2020-07-14 21:04:06 UTC

Array の rdoc 用コメントの強化。

[d29de7b31b] BurdetteLamar 2020-07-21 17:07:26 UTC

Array の rdoc 用コメントの文法修正やマークアップ修正など。

[a50750c8a9] BurdetteLamar 2020-07-21 17:55:28 UTC

d29de7b31bad1848f8baaa49b00e4203057032a7 で書きかえた Array の rdoc 用コメントの再度書きかえ。

[7befc0cdfc] Hiroshi SHIBATA 2020-07-22 09:38:51 UTC

標準添付ライブラリ optparse に gemspec ファイルを追加して default gem として扱うようにしています。

[8b0dc77a62] Jake Zimmerman 2020-07-10 19:05:34 UTC

configure で backtrace() 関数のチェックのために生成する C コードで sigaltstack() でシグナルハンドラ用のスタック領域のサイズを指定するのに SIGSTKSZ という定数を利用してましたが、環境によってはこれでは小さすぎて sigsegv() の処理中に再度 SIGSEGV が発生してしまうそうで、固定で 16KB 割り当てるようにしています。これはあくまで configure でのチェック時なので、ruby 本体はまた別ですね。

[50aac2ffd5] Nobuyoshi Nakada 2020-07-22 12:26:21 UTC

と思ったら 8b0dc77a621ded75f72486c33f55404ce73f00d7 の追加修正で、configure でのチェック時にも signal.c から定数マクロ RUBY_SIGALTSTACK_SIZE の定義部分を抜き出して埋め込むことでこれを使うようにしています。すごいなこのトリック。ところで結局 RUBY_SIGALTSTACK_SIZE は 16KB として定義されていました。実際のサイズは同じだったか。