anchor.diff:  
   
   
  -deliver_dyn_file(CliSock, GC, SC, Req, UT, Bin, Fd, [H|T],ARG,N) ->
  -    ?TC([{record, GC, gconf}, {record, SC, sconf}, {record, UT,urltype}]),
  +deliver_dyn_file(CliSock, GC, SC, Req, UT, Bin, Fd, [H|T],Arg,N) ->
  +    ?TC([{record, GC, gconf}, {record, SC, sconf}, {record, UT,urltype},
  +       {record, Arg, arg}]),
       ?Debug("deliver_dyn_file: ~p~n", [H]),
       case H of
   	{mod, LineNo, YawsFile, NumChars, Mod, out} ->
   	    {_, Bin2} = skip_data(Bin, Fd, NumChars),
  -	    case yaws_call(LineNo, YawsFile, Mod, out, ARG, GC,SC, N) of
  -		break ->
  -		    deliver_dyn_file(CliSock, GC, SC, Req,  
  -				     UT, Bin, Fd, [],ARG,N) ;
  -		{page, Page} ->
  -		    {page, Page};
  -		{streamcontent, MimeType, FirstChunk} ->
  -		    yaws:outh_set_content_type(MimeType),
  -		    accumulate_chunk(FirstChunk),
  -		    deliver_accumulated(CliSock, GC, SC),
  -		    stream_loop(CliSock, GC, SC),
  -		    case yaws:outh_get_chunked() of
  -			true ->
  -			    gen_tcp_send(CliSock, [crnl(), "0", 
  -						   crnl2()], SC, GC),
  -			    continue;
  -			false ->
  -			    done
  -		    end;
  -		{streamcontent_with_size, Sz, MimeType, FirstChunk} ->
  -		    yaws:outh_set_content_type(MimeType),
  -		    yaws:outh_set_transfer_encoding_off(),
  -		    yaws:outh_set_content_length(Sz),
  -		    accumulate_chunk(FirstChunk),
  -		    deliver_accumulated(CliSock, GC, SC),
  -		    stream_loop(CliSock, GC, SC),
  -		    done;
  -		_ ->
  -		    deliver_dyn_file(CliSock, GC, SC, Req, 
  -				     UT, Bin2,Fd,T,ARG,0)
  -	    end;
  +	    deliver_dyn_part(CliSock, GC, SC, LineNo, YawsFile,
  +			     N, Arg, 
  +			     fun(A)->Mod:out(A) end,
  +			     fun()->deliver_dyn_file(
  +				      CliSock, GC, SC, Req, 
  +				      UT, Bin2,Fd,T,Arg,0)
  +			     end);
   	{data, 0} ->
  -	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin, Fd,T,ARG,N);
  +	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin, Fd,T,Arg,N);
   	{data, NumChars} ->
   	    {Send, Bin2} = skip_data(Bin, Fd, NumChars),
   	    accumulate_chunk(Send),
  -	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin2, Fd, T,ARG,N);
  +	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin2, Fd, T,Arg,N);
   	{skip, 0} ->
  -	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin, Fd,T,ARG,N);
  +	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin, Fd,T,Arg,N);
   	{skip, NumChars} ->
   	    {_, Bin2} = skip_data(Bin, Fd, NumChars),
  -	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin2, Fd, T,ARG,N);
  +	    deliver_dyn_file(CliSock, GC, SC, Req, UT,Bin2, Fd, T,Arg,N);
   	{error, NumChars, Str} ->
   	    {_, Bin2} = skip_data(Bin, Fd, NumChars),
   	    accumulate_chunk(Str),
  -	    deliver_dyn_file(CliSock, GC, SC, Req, UT, Bin2, Fd, T,ARG,N)
  +	    deliver_dyn_file(CliSock, GC, SC, Req, UT, Bin2, Fd, T,Arg,N)
       end;
   
   deliver_dyn_file(CliSock, GC, SC, _Req, _UT, _Bin, _Fd, [], _ARG,_N) ->
       ?TC([{record, GC, gconf}, {record, SC, sconf}]),
       ?Debug("deliver_dyn: done~n", []),
  -    Ret = case yaws:outh_get_chunked() of
  -	      true ->
  -		  accumulate_content([crnl(), "0", crnl2()]),
  -		  continue;
  -	      false ->
  -		  done
  -	  end,
  -    deliver_accumulated(CliSock, GC, SC),
  -    Ret.
  +    finish_up_dyn_file(CliSock, GC, SC).
  +
   
   
   stream_loop(CliSock, GC, SC) ->
  
positive.code: 	    A2 = ARG#arg{appmoddata = PathData,
  			 querydata = UT#urltype.q,
  			 appmod_prepath = UT#urltype.path},
  	    do_appmod(Mod, out, CliSock, GC, SC, Req,  [A2], UT, N)
      end.
  
  	
  
negative.code: 	yaws ->
  	    yaws:outh_set_dyn_headers(Req, H),
  	    do_yaws(CliSock, GC, SC, Req,  
  		    ARG#arg{querydata = UT#urltype.q}, UT, N);
  	forbidden ->
  	    yaws:outh_set_dyn_headers(Req, H),
  	    deliver_403(CliSock, Req, GC, SC);
  