ElixirChanges-20160522

c0b:7efc40016ad81e07d365c33c72f8d4bc44d6a399

(#4412)
ファイル名

lib/elixir/lib/option_parser.ex
lib/elixir/test/elixir/option_parser_test.exs

:countr をサポートするために option_parser.ex の改善が行われました。
:countr があることにより同一の指定オプションの個数を持つようです。

josevalim:9785e3667846ce3040d5d8d7f507d80e806a3af0

ファイル名
lib/mix/test/fixtures/no_mixfile/lib/c.ex
lib/mix/test/mix/tasks/compile.elixir_test.exs
lib/mix/test/mix/tasks/compile_test.exs
lib/mix/test/mix/tasks/deps.git_test.exs

no_mixfile から cモジュールが削除されました

josevalim:9d4d84df5dbefe37251d38279ff7a594bb9c4dc9

ファイル名
lib/elixir/lib/option_parser.ex

ドキュメントの改善が実施されました。

milmazz:3f814349fd15a38d1a82e2605ab4e04ebec9d66d

ファイル名
lib/elixir/lib/option_parser.ex
lib/elixir/test/elixir/option_parser_test.exs

OptionParser に parse!/2 と parse_head!/2 メソッドが追加されました。
parse!/2 や parse_head/2 では無効なオプションが指定されていた場合に OptionParser.InvalidOptionError が発生します。

josevalim:cae9875ca7ee54eafb637954199d8df5cf866b15

ファイル名
lib/ex_unit/lib/ex_unit/doc_test.ex
lib/ex_unit/test/ex_unit/doc_test_test.exs

ドキュメントのテストの改善が行われました。

josevalim:91aa29d1b47a110572b45bb846453a87fac519b7

ファイル名
lib/elixir/lib/option_parser.ex
lib/elixir/test/elixir/option_parser_test.exs

上記の OptionParser.InvalidOptionError ですが ParseError へと変更が行われました。

josevalim:6a8e788b8256d485ddb8295deca0d030636518ef

ファイル名
lib/elixir/lib/option_parser.ex

引数不足の場合の例外メッセージが追加されました。

josevalim:92f87b6b17b9272fc79e2f8fb94557805e6c2063

ファイル名
lib/mix/lib/mix/task.ex
lib/mix/test/mix/task_test.exs
lib/mix/test/test_helper.exs

Mix.Task にて OptionParser.ParseError を取得したら Mix.Error へと変換する処理が入りました。

josevalim:4e648199f18ee3be8addab82c951b9e2dd82f885

ファイル名
lib/mix/lib/mix/local/installer.ex
lib/mix/lib/mix/tasks/app.tree.ex
lib/mix/lib/mix/tasks/archive.build.ex
lib/mix/lib/mix/tasks/escript.build.ex
lib/mix/lib/mix/tasks/escript.install.ex
lib/mix/lib/mix/tasks/local.public_keys.ex
lib/mix/lib/mix/tasks/new.ex
lib/mix/lib/mix/tasks/profile.fprof.ex
lib/mix/lib/mix/tasks/run.ex
lib/mix/lib/mix/tasks/test.ex
lib/mix/test/mix/tasks/new_test.exs
lib/mix/test/mix/tasks/profile.fprof_test.exs

build や Profile に 新しく @switches にてオプションが追加され、そちらをチェックしてからの 実行を行うように変更されました。

antipax:0395bac1c165962e1e01cabd73ed92569ca925ed

(#4639)
ファイル名

lib/elixir/lib/kernel/lexical_tracker.ex
lib/elixir/lib/protocol.ex
lib/elixir/src/elixir_dispatch.erl
lib/elixir/src/elixir_exp.erl
lib/elixir/src/elixir_lexical.erl
lib/elixir/test/elixir/code_test.exs
lib/elixir/test/elixir/kernel/lexical_tracker_test.exs
lib/mix/lib/mix.ex
lib/mix/lib/mix/compilers/elixir.ex
lib/mix/lib/mix/tasks/compile.ex
lib/mix/lib/mix/tasks/compile.xref.ex
lib/mix/lib/mix/tasks/xref.ex
lib/mix/test/mix/tasks/compile.xref_test.exs
lib/mix/test/mix/tasks/compile_test.exs
lib/mix/test/mix/tasks/xref_test.exs

コンパイル時に解決できないリモート呼び出し時の問題をあげるように変更が加わったようです。

Erol:ee715dd49df15cf0f24c66643219b6b2ec50c8f9

#4658)
ファイル名

lib/mix/lib/mix/local.ex

メソッド名がtypoしていたためメソッド名の変更と使用している箇所の修正が行われました。

josevalim:94b0406fb70f5d565263426e2ed122704525bea6

ファイル名
lib/mix/lib/mix/compilers/elixir.ex
lib/mix/lib/mix/tasks/compile.xref.ex
lib/mix/lib/mix/tasks/xref.ex
lib/mix/test/mix/tasks/xref_test.exs

mix xref のための --warnings と --unreachable オプションが新規に追加されました。

josevalim:94b0406fb70f5d565263426e2ed122704525bea6

ファイル名
lib/elixir/lib/kernel/lexical_tracker.ex

Store runtime と lexical tracker の状態で直接コンパイルを実施できるように改善が実施されたようです。