anchor.diff:  	  when is_list(Reply);
   	       is_binary(Reply) ->
   	    {reply,{ok,Reply},NewState};
  -	{stop,_,Reply,NewState} ->
  -	    {error,Reply,NewState};
   	Other ->
   	    Other
       end;
  
positive.code: 	     #state{buf= <<>>}=State)
    when At =:= cur;
         At =:= {cur,0} ->
      case put_chars(Data, latin1, State) of
  	{stop,_,Reply,NewState} ->
  	    {error,Reply,NewState};
  	Other ->
  	    Other
      end;
  file_request({pwrite,At,Data}, 
  	     #state{handle=Handle,buf=Buf}=State) ->
      case position(Handle, At, Buf) of
  	{error,_} = Reply ->
  	    {error,Reply,State};
  	_ ->
  	    case put_chars(Data, latin1, State) of
  		{stop,_,Reply,NewState} ->
  		    {error,Reply,NewState};
  		Other ->
  		    Other
  	    end
      end;
  file_request(datasync,
  	     #state{handle=Handle}=State) ->
      case ?PRIM_FILE:datasync(Handle) of
  	{error,_}=Reply ->
  	    {stop,normal,Reply,State};
  	Reply ->
  	    {reply,Reply,State}
      end;
  file_request(sync, 
  	     #state{handle=Handle}=State) ->
      case ?PRIM_FILE:sync(Handle) of
  	{error,_}=Reply ->
  	    {stop,normal,Reply,State};
  	Reply ->
  	    {reply,Reply,State}
      end;
  file_request(close, 
  	     #state{handle=Handle}=State) ->
      {stop,normal,?PRIM_FILE:close(Handle),State#state{buf= <<>>}};
  file_request({position,At}, 
  	     #state{handle=Handle,buf=Buf}=State) ->
      case position(Handle, At, Buf) of
  
negative.code: put_chars(Chars, latin1, #state{handle=Handle, unic=latin1}=State) ->
      NewState = State#state{buf = <<>>},
      case ?PRIM_FILE:write(Handle, Chars) of
  	{error,Reason}=Reply ->
  	    {stop,Reason,Reply,NewState};
  	Reply ->
  	    {reply,Reply,NewState}
      end;
  