ruby-trunk-changes r57086 - r57091

今日は String#each_line などのキーワード引数 chomp: true が指定された時に先頭が空行の時の SEGV の修正やヒアドキュメントの終了トークンに改行が含まれているときのチェックの強化などがありました。

mrkn: r57086 2016-12-16 01:08:33 +0900

NEWS ファイルで round メソッドのキーワード引数のデフォルトが :up (切り上げ)になったので記述を修正しています。

svn: r57087 2016-12-16 01:08:34 +0900

version.h の日付更新。

nobu: r57088 2016-12-16 10:12:09 +0900

String#each_line などのメソッドでキーワード引数 chomp に true が指定されていて "\r\n" の改行コードを削るために "\n" の前が "\r" かどうかチェックする時に前の文字がないケースを考慮するようにしています。"\n" ではじまる文字列で SEGV していたようです。 [ruby-core:78666] [Bug #13037]

nobu: r57089 2016-12-16 10:27:47 +0900

r57085 で警告を出すようにしたヒアドキュメントの終了トークンに含まれる改行ですが、複数の改行コードが含まれているのはうまく扱えないので CompileError にするようにしています。

nobu: r57090 2016-12-16 12:30:26 +0900

configure.in で crypt.h というヘッダをチェックするようにしています。 FreeBSD 12.0 で crypt_r() が unistd.h で宣言されていて crypt.h がないのでコンパイルエラーになってたみたいです。 [ruby-core:78664] [Bug #13038]

nobu: r57091 2016-12-16 14:05:42 +0900

r57090 の続きでチェックして存在しなかったら HAVE_CRYPT_H をみて #include を省くようにしています。 [ruby-core:78664] [Bug #13038]