ElixirChanges-20150817

josevalim:84830d37ef6b5921b9bb65bffa37821b9fba0bad

ファイル名
CHANGELOG.md
lib/elixir/lib/string.ex
lib/elixir/src/elixir_tokenizer.erl
lib/elixir/test/elixir/kernel/errors_test.exs
lib/elixir/test/erlang/tokenizer_test.erl

`?\x` が廃止されました。
理由としましては、`0xHEX`と `?\xHEX` での競合が発生するため、`0x`のみを有効とするようになったようです。

josevalim:f7183440716d705bfaabdc54c216d87cebacd9a7

ファイル名
CHANGELOG.md
lib/elixir/lib/protocol.ex
lib/elixir/lib/string.ex
lib/elixir/src/elixir_exp.erl

昨日記載した「as: true | false / alias/2 / require/2 は非推奨となったようです。」ですが、ChangeLogを非推奨の側へと変更内容がうつされ、ToDoとして1.2で削除予定だったメソッドが1.3で削除されるように記載が変更されました。

josevalim:3327854653c122d39e0e340caa3b0d872f7d2835

ファイル名
CHANGELOG.md
lib/elixir/lib/string.ex
lib/elixir/src/elixir_interpolation.erl
lib/elixir/test/elixir/kernel/binary_test.exs
lib/elixir/test/elixir/kernel/char_list_test.exs
lib/elixir/test/elixir/regex_test.exs
lib/elixir/test/elixir/string_test.exs

unicode mapping として、今までは "\x{0065}\x{0301}" と対応していたものが、"\u0065\u0301" と変更になりました。
"\x"はこれからは非推奨となるため注意が必要です。

josevalim:4f265b12d6f9060790396be7d115b6dd007ac68b

ファイル名
lib/elixir/src/elixir_tokenizer.erl

do の後ろに ,や; 我は言っている場合にコンパイルエラーが発生するはずが、コンパイルが失敗するためのターミネーターがなかったため追加され、コメントも追加されたようです。

josevalim:970f84382bdcdb4621d62bb765f94f280d313c99

ファイル名
lib/elixir/src/elixir_tokenizer.erl
lib/elixir/test/elixir/map_test.exs
lib/elixir/test/erlang/tokenizer_test.erl

Module. # a comment
|>

上記のようなコメントの後の |> などを記載すると syntax errorが発生してしまう問題があったようですが、今回の修正によって修正されたようです。

eksperimental:b0a771dad2dd3931afb6b12ce162653135a5a8f3

(#3590)
ファイル名

lib/elixir/lib/enum.ex

Enum.uniq に対するドキュメントの不要なコードが削除されました。

josevalim:c2813ac1eaf5fdd248f554f639fbc608e8016b5f

ファイル名
lib/elixir/src/elixir_parser.yrl
lib/elixir/src/elixir_tokenizer.erl
lib/elixir/test/elixir/map_test.exs

8月15日の変更にて、parser内のTokenとNodeの判断の変更が行われましたが、チェック内容が古いままだったようで、古いチェックは削除され新しいものへと変更されました。

josevalim:7f1261882799fa8a4b314ed87f45fcb8127e01b8

ファイル名
lib/elixir/lib/access.ex
lib/elixir/test/elixir/access_test.exs

以前、Access に getメソッドだけではなく、fetchメソッドも追加されましたが、今回の変更で削除されました。

josevalim:5585c290be619c2e732f6f006dd7a64df5c9ffa5

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

typespec のドキュメントが修正され、合わせてバイナリ系のtypespecのメソッドの内容が変更されました。

josevalim:5347eefd71d3ca32cf6e8860c5704e8e65f01167

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

新規に構造体のkeyとvalueのペアが正しいかを確認し、正しく内容であるならばcompile_errorを表示するように修正されました。