ruby-trunk-changes 2019-06-27

今日は Fiber の実装に OpenBSD で ucontext を使わないようにする修正や irb の auto indent の修正などがありました。

[d9a055a721] Kazuhiro NISHIYAMA 2019-06-26 12:44:20 UTC

doc/maintainers.rdoc の nkf のメンテナの naruse さんのアカウント表記を修正しています。

[1235e054eb] Kazuhiro NISHIYAMA 2019-06-26 12:44:42 UTC

同じく doc/maintainers.rdoc の名前とアカウントのあいだの空白を追加。

[d004989ac6] Jeremy Evans 2019-06-26 14:53:54 UTC

configure に OpenBSD の時の Fiber の coroutine の実装の指定を空にしています。つまり非 coroutine 実装版を使うってことかな。

[72bfc52de6] aycabta 2019-06-26 16:20:44 UTC

Reline::LineEditor#input_key で行頭の空白をカウントするのに複数行の時に全体のバッファの先頭をみてしまっていたのを修正しています。

[df3c94712b] git 2019-06-26 16:21:53 UTC

version.h の日付更新

[24c4e6dec1] aycabta 2019-06-26 16:25:22 UTC

差分だとよくわからないのですが irb の auto indent でインデント幅の判定に行継続した時の例外処理を追加しています。

[7172ab0ec5] Jeremy Evans 2019-06-26 22:21:59 UTC

d004989ac6355bcf2840ed190aae139c3a852848 の追加修正で OpenBSDx86_64 環境では amd64 版の Coroutine 実装を Fiber に使うように設定しています。ただし OpenBSD には ucontext がないので cont.c から #include <ucontext.h> を削っています。あれ coroutine なしの Fiber 実装(のことを native fibers って書いてるんだと思うんだけど)って ucontext 使う実装ないんだっけ?

[d6bcf36793] aycabta 2019-06-27 01:59:08 UTC

24c4e6dec109e105c13bd4c1b7f7cd51e534a3c3 の irb の auto indent のための継続行処理で参照する token のフラグを修正。

[c86a9e6592] Kazuhiro NISHIYAMA 2019-06-27 02:17:03 UTC

irb のヘルプメッセージの --inspect オプションの説明から bc モードというすでに存在しないモードについての言及を削除しています。

[2a56702eee] Nobuyoshi Nakada 2019-06-27 06:13:45 UTC

ripper のテストに終端マーカーのないヒアドキュメントの SyntaxError のテストを追加しています。

[097554855c] Nobuyoshi Nakada 2019-06-27 06:16:15 UTC

2a56702eeea5a571eaa2af15967c6535395e83a2 のテストに対応して parse.y の heredoc_identifier() がマーカーなしに EOF がきてしまってエラー(-1)を返した時に parser_yylex() からそれをそのまま返してしまっていたので、かわりに END_OF_INPUT (0) を返すようにしています。 [ruby-core:93379] [Bug #15962]

[2fd03fd7e6] aycabta 2019-06-27 07:03:43 UTC

24c4e6dec109e105c13bd4c1b7f7cd51e534a3c3 および d6bcf367936e92b8662dce969bc6b48ae2112d45 のさらに追加修正でチェックする token のビットフラグの種類をさらに増やしています。

[7b716bc52a] Nobuyoshi Nakada 2019-06-27 07:57:31 UTC

拡張ライブラリ ripper の Ripper::Lexer::Elem の inspect メソッドで state が表示されていなかったので追加しています。このクラスの inspect とか pretty_print ってなんのためのやつだったっけな。 af17e111b3f7cb3c5ad7dc194399b44d0e5004d0 で追加されてこの時ひととおり調べたんだけど忘れてしまった。

[2c02d5714e] Benoit Daloze 2019-06-27 09:57:23 UTC

.travis.yml に rubyspec を 2.4 で動かすテストのエラー時に ruby_version_is でバージョンの guard 入れてねってメッセージを表示するようにしています。

[9247f6fcc0] Benoit Daloze 2019-06-27 10:06:39 UTC

spec/README.md にも ruby_version_is の使いかたについての説明を追加しています。そのほかすこしマークアップの修正も。

[1f7cb4bee9] Nobuyoshi Nakada 2019-06-27 08:18:24 UTC

parse.y の lexer の状態を表す文字列のテーブル rb_parser_lex_state_names で各文字列の prefix の "EXPR_" を削ってサイズを小さくしています。 ripper の Ripper.lex_state_name で取得する表示名も変わるのと parser のデバッグ時のメッセージに表示されるものが変化します。