anchor.diff:  %%
   expand_vars(Key, Value, Vars) ->
       lists:foldl(
  -      fun({AKey, AValue}, Acc) ->
  -              NewValue = case AKey of
  -                             Key ->
  -                                 AValue;
  -                             _ ->
  -                                 expand_env_variable(AValue, Key, Value)
  -                         end,
  -              [{AKey, NewValue} | Acc]
  -      end,
  -      [], Vars).
  +            fun({AKey, AValue}, Acc) ->
  +                    NewValue = case AKey of
  +                                   Key ->
  +                                       AValue;
  +                                   _ ->
  +                                       expand_env_variable(AValue, Key, Value)
  +                               end,
  +                    [{AKey, NewValue} | Acc]
  +            end,
  +            [], Vars).
   
   
   %%
  
positive.code: %%
  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))).
  %%
  %% 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
  
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) ->
  