summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rebar_state.erl9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/rebar_state.erl b/src/rebar_state.erl
index 7ebe6da..577ed23 100644
--- a/src/rebar_state.erl
+++ b/src/rebar_state.erl
@@ -87,8 +87,8 @@ new(Config) when is_list(Config) ->
opts = Opts }.
-spec new(t() | atom(), list()) -> t().
-new(Profile, Config) when is_atom(Profile),
- is_list(Config) ->
+new(Profile, Config) when is_atom(Profile)
+ , is_list(Config) ->
BaseState = base_state(),
Opts = base_opts(Config),
BaseState#state_t { dir = rebar_dir:get_cwd(),
@@ -283,12 +283,11 @@ apply_profiles(State=#state_t{default = Defaults, current_profiles=CurrentProfil
end, Defaults, AppliedProfiles),
State#state_t{current_profiles = AppliedProfiles, opts=NewOpts}.
-%% @doc A stable deduplicator.
deduplicate(Profiles) ->
- do_deduplicate(Profiles, []).
+ do_deduplicate(lists:reverse(Profiles), []).
do_deduplicate([], Acc) ->
- lists:reverse(Acc);
+ Acc;
do_deduplicate([Head | Rest], Acc) ->
case lists:member(Head, Acc) of
true -> do_deduplicate(Rest, Acc);