ElixirChanges-20151019

josevalim:ecf90268eb1e4acb8b104325524c6f12746caa7f

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

String.trim_leading/2 と String.trim_trailing/2 と String.trim_prefix/2 と String.trim_suffix/2 が新しく追加されました。
String.trim_leading/2 は 第一引数の文字列の中から、第二引数の文字列を取得できるメソッドです。
String.trim_trailing/2 は String.trim_leading/2 とは逆で 第一引数の文字列の中から、第二引数とは一致しない文字列が取得できるメソッドです。
String.trim_prefix/2 は 第一引数の文字列の中で、第二引数とマッチしなかったものを取得できるメソッドです。
String.trim_suffix/2 も String.trim_prefix/2 と同じく、第一引数の文字列の中で、第二引数とマッチしなかったものを取得できるメソッドです。

josevalim:4b01bccfbfb84ba0a6dd21072a6324c24743b3fc

ファイル名
lib/elixir/lib/module.ex
lib/elixir/test/elixir/kernel/warning_test.exs

warn_if_redefining_attribute が warn_if_redefining_doc_attribute に改められて、docのワーニングがメソッド内に含められました。

josevalim:07d375d6c2a8a6a064d7d6a440599350792afd88

ファイル名
lib/elixir/lib/inspect.ex
lib/elixir/lib/map_set.ex
lib/ex_unit/lib/ex_unit/doc_test.ex
lib/ex_unit/test/ex_unit/doc_test_test.exs
lib/iex/test/iex/helpers_test.exs
lib/mix/test/mix/tasks/profile.fprof_test.exs

HashSet や HashDict が MapSet を使うように置き換えられ、ドキュメントも書き換えられました。

josevalim:1f7ee6788c9cd1cdcd9ac553a7e11da0e06ba89b

ファイル名
lib/mix/lib/mix/utils.ex

使用されていないメソッドが削除されました。

hubertlepicki:d9a8a2a93d672a0a282195aee374e630f32bda15

(#3882)
ファイル名

lib/elixir/src/elixir_aliases.erl
lib/elixir/test/elixir/kernel/errors_test.exs

定義されているコンテキストがモジュールを必要とした場合にエラーメッセージを送るように改善されました。

josevalim:2f7c2da48255e7fd59ee1ee5eaa093227f12d48f

ファイル名
lib/elixir/lib/enum.ex
lib/elixir/lib/stream.ex
lib/elixir/test/elixir/enum_test.exs
lib/elixir/test/elixir/stream_test.exs
lib/ex_unit/lib/ex_unit/assertions.ex
lib/ex_unit/lib/ex_unit/runner.ex

random や から
rand を使う方向に切り替わりました。

josevalim:5b88ef22d2439e45a2c9c12698d2d9ef9ed72f76

ファイル名
lib/elixir/src/elixir.erl
lib/elixir/src/elixir.hrl
lib/elixir/src/elixir_clauses.erl
lib/elixir/src/elixir_env.erl
lib/elixir/src/elixir_fn.erl
lib/elixir/src/elixir_scope.erl
lib/elixir/src/elixir_translator.erl

dict から maps に変更するにあたって、内部の varsなどの変更が実施されました。

josevalim:6de232cab07e700ef45c4da790c0820515ae85c7

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

mapsに変更するにあたって、Bindingが空の配列をみるように変更されたようです。

djm:0f1b5e5e23d6d101bdba345d13909887918c6354

(#3883)
ファイル名

lib/mix/lib/mix/task.ex

mix help my_task で出てくる内容が @moduledoc で定義している内容であることがドキュメントに記載修正が行われました。

josevalim:89d2b916c10eca77e4bea21cb5a81486ebff9b66

ファイル名
lib/elixir/src/elixir_aliases.erl
lib/elixir/test/elixir/kernel/errors_test.exs

コンテキストモジュール用のエラーメッセージの改善が行われました。

josevalim:6128444f4bcf5b6a1dbfed84a6775bb6c9fb677f

ファイル名
lib/elixir/lib/module.ex
lib/elixir/src/elixir_clauses.erl
lib/elixir/src/elixir_def_overridable.erl
lib/elixir/src/elixir_env.erl
lib/elixir/src/elixir_scope.erl

mapsに変更することによる項目の変更・移動が行われたようです。

josevalim:35fbf0716a9c6139f8b718701024f5055c3e3b08

ファイル名
lib/elixir/lib/code.ex
lib/elixir/src/elixir.erl
lib/elixir/src/elixir_code_server.erl
lib/elixir/src/elixir_compiler.erl

上記と同じ修正が別コードでも実施されました。

josevalim:95b03739dda1e1f3f2c7f68a09d3351736d970a2

ファイル名
lib/elixir/lib/process.ex
lib/elixir/src/elixir_rewrite.erl
lib/elixir/test/elixir/process_test.exs

Process.get_keys/0 メソッドが追加されました。
:erlang.get_keys() を返すメソッドとなります。

josevalim:6a8b2123769041fcd20af0cbd752eceaa52a4ccc

ファイル名
lib/elixir/lib/exception.ex
lib/elixir/src/elixir_translator.erl
lib/elixir/src/elixir_try.erl

Map構文のタプルにてエラーが発生した場合のエラーの改善などが行われたようです。