anchor.diff:          {compiled, Source, Warnings} ->
               report(Warnings),
               ?CONSOLE("Compiled ~s\n", [Source]),
  -            compile_queue(Pids, Targets);
  +            compile_queue(Config, Pids, Targets);
   
           {compiled, Source} ->
               ?CONSOLE("Compiled ~s\n", [Source]),
  -            compile_queue(Pids, Targets);
  +            compile_queue(Config, Pids, Targets);
   
           {skipped, Source} ->
               ?INFO("Skipped ~s\n", [Source]),
  -            compile_queue(Pids, Targets);
  +            compile_queue(Config, Pids, Targets);
   
           {'DOWN', Mref, _, Pid, normal} ->
               ?DEBUG("Worker exited cleanly\n", []),
               Pids2 = lists:delete({Pid, Mref}, Pids),
  -            compile_queue(Pids2, Targets);
  +            compile_queue(Config, Pids2, Targets);
   
           {'DOWN', _Mref, _, _Pid, Info} ->
               ?DEBUG("Worker failed: ~p\n", [Info]),
  
positive.code:             Jobs = rebar:get_jobs(Config),
              ?DEBUG("Starting ~B compile worker(s)~n", [Jobs]),
              Pids = [spawn_monitor(F) || _I <- lists:seq(1,Jobs)],
              compile_queue(Pids, RestFiles)
      end.
  
  run(Config, FirstFiles, SourceDir, SourceExt, TargetDir, TargetExt,
  
negative.code:         skipped ->
              ?INFO("Skipped ~s\n", [Source]);
          Error ->
              ?CONSOLE("Compiling ~s failed:\n",
                       [maybe_absname(Config, Source)]),
              maybe_report(Error),
              ?DEBUG("Compilation failed: ~p\n", [Error]),
              ?FAIL
      end,
      compile_each(Rest, Config, CompileFn).
  
  compile_queue(_Config, [], []) ->
      ok;
  compile_queue(Config, Pids, Targets) ->
      receive
          {next, Worker} ->
              case Targets of
                  [] ->
                      Worker ! empty,
                      compile_queue(Config, Pids, Targets);
                  [Source | Rest] ->
                      Worker ! {compile, Source},
                      compile_queue(Config, Pids, Rest)
              end;
  
          {fail, [_, {source, Source}}=Error] ->
              ?CONSOLE("Compiling ~s failed:\n",
                       [maybe_absname(Config, Source)]),
              maybe_report(Error),
              ?DEBUG("Worker compilation failed: ~p\n", [Error]),
              ?FAIL;
  