ruby-trunk-changes 2019-07-07

今日は elsif の対応する end のインデント対応についての警告出力の修正などがありました。

[789e49dc7e] Nobuyoshi Nakada 2019-07-07 05:43:54 UTC

parse.y の構造体 token_info のメンバー column を indent に改名、linenum はかわりに rb_code_position_t 全体を格納するようにしています。

[d548073f68] Nobuyoshi Nakada 2019-07-07 06:45:10 UTC

if に対応する end のインデントがマッチしていなかった時の警告出力で else の後に if を書いた場合にうまく警告が出てなかったので警告を出すうようにしています。 チケットをみると元は C 言語とかみたいに if ... else if ... end って書いて SyntaxError になるのがわかりにくい、というレポートへの対応みたいで、うーんそうか。elif と elsif でどっちだっけって思うことはある(というか書く時は常に迷って syntax highlight に頼ってる)けど。というかそもそも ruby だと elsif をあんまり書かないような気がしますね。 [ruby-core:93573] [Feature #15990]

[a33948f40a] git 2019-07-07 06:50:58 UTC

version.h の日付更新

[a13636e756] Nobuyoshi Nakada 2019-07-07 09:17:51 UTC

parse.y で SyntaxError 時にエラー箇所を標準エラー出力に書き出す時に最後に改行を加えるようにしています。

[68e5804022] Lars Kanis 2019-07-06 12:32:39 UTC

win32 版の Coroutine 実装 coroutine/win32/Context.S を追加して、i386-mingw の環境で Fiber に coroutine 実装を利用するようにしています。ユーザーいるのかなぁ。

[19a4c42d61] Nobuyoshi Nakada 2019-07-07 09:54:17 UTC

tool/file2lastrev.rb で C のコード生成で定数マクロ RUBY_LAST_COMMIT_TITLE の定義を生成する時に値の文字列の # がエスケープされてるのをバックスラッシュを取り除くようにしています。 String#dump で "#{}" のような ruby の文字列リテラルだと式の埋め込みのように解釈されてしまう文字列はエスケープされて、それが逆に警告になるので、unescape するようにしています。

[fc4dd7d3e2] Nobuyoshi Nakada 2019-07-07 10:05:33 UTC

19a4c42d6124aa3bcdf2cd53d510b22acb2b5104 の続き。 RUBY_BRANCH_NAME の定義も同様に(ブランチ名に #{} が入ってると) # がエスケープされてたらバックスラッシュを削るようにしています。

[c1ebb384fd] Kazuhiro NISHIYAMA 2019-07-07 11:16:15 UTC

addr2line.c のコメントの typo 修正。