ruby-trunk-changes r53500 - r53517

今日は String#upcase, #downcase, #capitalize, #swapcase などのメソッドに省略可能な引数を追加する変更や、did_you_mean.gem を使った時の SEGV の修正などがありました。

nobu: r53500 2016-01-12 10:51:01 +0900

r53498 で追加した RUBY_API_VERSION_{MAJOR,MINOR,TEENY} を切り出す sed のコマンドの行頭の # にマッチさせる部分を @%:@ におきかえています。うーむ、なんじゃろこれは。

svn: r53501 2016-01-12 10:51:02 +0900

version.h の日付更新。

duerst: r53503 2016-01-12 16:03:31 +0900

r53499 で追加した ONIGENC_CASE_FOLD_XXX を利用して String#upcase, String#downcase, String#capitalize, String#swapcase など大文字小文字を変換するメソッド群に省略可能な引数として :ascii, :turkic, :lithuanian, :fold を指定可能にしています。 関連するチケットはないのかなぁ。今だと省略可能引数として追加するよりキーワード引数などにしたほうが拡張性としては良い(さらに引数を追加する時に順番を気にしなくて良い)と思いますが。まあキーワード引数の解析は遅いみたいですが。

svn: r53504 2016-01-12 16:03:32 +0900

r53503 の行末の空白除去。

duerst: r53505 2016-01-12 16:09:35 +0900

r53503 で追加された String#upcase, #downcase, #capitalize, #swapcase などの省略可能引数の追加に関するテストを追加しています。 :fold は downcase でのみ使えるみたいですね。
しかしオプションの効果がどういうものなのかが伺えるテストケースはなさそうですね。

svn: r53506 2016-01-12 16:09:35 +0900

r53505 の行末の空白除去。

naruse: r53507 2016-01-12 16:44:18 +0900

r53503 の変更に追随して Proc#parameters のテストで String#upcase の Method を使っていたところを修正しています。

duerst: r53509 2016-01-12 18:35:00 +0900

String#valid_encoding? の rdoc 用コメントの英文法の修正。

duerst: r53510 2016-01-12 18:42:07 +0900

r53503 で追加した String#upcase などの省略可能引数をあらわすローカル変数名を flag -> flags と変更しています。

sorah: r53511 2016-01-12 20:19:25 +0900

r53381 の標準添付ライブラリ forwardable.rb の修正で、def_delegator の第1引数に Class や Module をそのまま渡すような呼びかたがされていた場合に、これまではそのまま文字列としてスクリプト片に埋め込まれて eval されてたので動いてたのが、事前に method_defined? などでチェックが走るようになったのでそこで例外が発生するようになってしまったので、チェック前に to_s で明示的に文字列化しておくようにしています。うーんなるほど。

sorah: r53512 2016-01-12 20:23:05 +0900

r53511 の ChangeLog エントリの修正。

eregon: r53513 2016-01-12 21:05:41 +0900

common.mk の rubyspec のリポジトリの URL の参照を修正しています。いろいろあって RubySpec は Ruby Spec Suite と改名したそうです。

nobu: r53514 2016-01-13 00:17:19 +0900

iseqw_mark() での rb_iseq_t::body::parent_iseq の mark 漏れによる did_you_mean.gem を使った時の SEGV の修正。 NameError#local_variables のための iseq が GC で回収されてしまう可能性があったようです。 [ruby-core:72620] [Bug #11928]

svn: r53515 2016-01-13 00:17:20 +0900

version.h の日付更新。

nobu: r53516 2016-01-13 00:37:42 +0900

man/ruby.1 の重複した単語の修正。 https://github.com/ruby/ruby/pull/1194

naruse: r53517 2016-01-13 02:10:27 +0900

.travis.yml から clang でのコンパイルOS X でのビルドを削っています。頻繁にエラーになるのと、ビルドが遅いためとのこと。