anchor.diff:  %%
   apply_defaults(Vars, Defaults) ->
       dict:to_list(
  -        dict:merge(fun(Key, VarValue, DefaultValue) ->
  -                        case is_expandable(DefaultValue) of
  -                             true ->
  -                                 expand_env_variable(DefaultValue,
  -                                                     Key, VarValue);
  -                             false -> VarValue
  -                        end
  -                    end,
  -                    dict:from_list(Vars),
  -                    dict:from_list(Defaults))).
  +           dict:merge(fun(Key, VarValue, DefaultValue) ->
  +                              case is_expandable(DefaultValue) of
  +                                  true ->
  +                                      expand_env_variable(DefaultValue,
  +                                                          Key, VarValue);
  +                                  false -> VarValue
  +                              end
  +                      end,
  +                      dict:from_list(Vars),
  +                      dict:from_list(Defaults))).
   %%
   %% Given a list of {Key, Value} environment variables, where Key may be defined
   %% multiple times, walk the list and expand each self-reference so that we
  
positive.code:                                         [Source, Bin]), [{env, Env}]);
                  "$CXX" ->
                      rebar_utils:sh(
                        ?FMT("$CXX -c $CXXFLAGS $DRV_CFLAGS ~s -o ~s",
                             [Source, Bin]), [{env, Env}])
              end,
              compile_each(Rest, Config, Env, [Bin | NewBins], ExistingBins);
  
  
negative.code:             %% Only relink if necessary, given the SoName
              %% and list of new binaries
              lists:foreach(
                      fun({SoName,Bins}) ->
                              AllBins = [sets:from_list(Bins),
                                         sets:from_list(NewBins)],
                              NewBins1 = sets:intersection(AllBins),
                              case needs_link(SoName, sets:to_list(NewBins1)) of
                                  true ->
                                      Fmt = "$CC ~s $LDFLAGS $DRV_LDFLAGS -o ~s",
                                      Vars = [string:join(Bins, " "), SoName],
                                      rebar_utils:sh(?FMT(Fmt, Vars),
                                                     [{env, Env}]);
                                  false ->
                                      ?INFO("Skipping relink of ~s\n", [SoName]),
                                      ok
                              end
                      end, SoSpecs)
      end.
  
  clean(Config, AppFile) ->
  