ruby-trunk-changes r66906 - r66911

今日は標準添付ライブラリ tmpdir で一時ディレクトリが残るケースがある不具合修正や SyntaxError のメッセージの改善の続きなどがありました。

kazu: r66906 2019-01-22 21:43:57 +0900

String#dump の rdoc 用コメントのサンプルコードに通常の表示できる文字以外の文字を含むケースのサンプルを追記しています。

nobu: r66907 2019-01-23 08:21:58 +0900

parse.y の set_yylval_str() および set_yylval_literal() マクロで引数を add_mark_object() に渡す処理も含めるようにして、呼び元で毎回 add_mark_object() を呼んでたのを共通化するリファクタリング

svn: r66908 2019-01-23 08:22:10 +0900

version.h の日付更新。

nobu: r66909 2019-01-23 15:06:47 +0900

標準添付ライブラリ tmpdir の Dir.mktmpdir にブロックを渡した時に、ブロックを呼び出した後で親ディレクトリが world writable なのを確認してエラーにするので、作成した一時ディレクトリが残ることがあったので、ディレクトリのパーミッションチェックは Dir.mktmpdir に親ディレクトリが明示的に渡されなくてシステムの一時ディレクトリ(/tmp とか)が利用された時だけにしています。これ後始末をするというのではだめなのかなと思ったのですが、チケットの起票者はそのような変更を提案してて、しかし安全にディレクトリ削除するのが難しい? みたいで、引数で明示的に渡した時はパーミッションについてはユーザーの責任ということにするのかな? [ruby-core:91216] [Bug #15555]

nobu: r66910 2019-01-23 18:08:22 +0900

parse.y で SyntaxError のメッセージを内部的なトークン名から自然な名前にする変更の続き。tSTRING_CONTENT とか tSTRING_END とか、具体的な文字にしにくいトークンの説明も自然言語化しています。

nobu: r66911 2019-01-23 18:39:45 +0900

r66910 の続きで SyntaxError のメッセージで文字列内の式展開の "}" のトークンもそのまま "}" と表示するようにしています。