anchor.diff:         true ->
   	    {stop,binrev(Stack, [Data]),eof}
       end;
  -collect_chars({binary,Stack,N}, Data,latin1, _) ->
  +collect_chars({binary,Stack,N}, Data,latin1, _) when is_integer(N) ->
       Size = byte_size(Data),
       if Size > N ->
   	    {B1,B2} = split_binary(Data, N),
  
positive.code:        true ->
  	    {stop,Data,eof}
      end;
  collect_chars(start,Data,_,N) when is_list(Data) ->
      collect_chars_list([], N, Data);
  collect_chars(start, eof, _,_) ->
      {stop,eof,eof};
  collect_chars({binary,Stack,_N}, eof, _,_) ->
      {stop,binrev(Stack),eof};
  collect_chars({binary,Stack,N}, Data,unicode, _) ->
      {Size,Npos} = count_and_find_utf8(Data,N),
      if Size > N ->
  	    {B1,B2} = split_binary(Data, Npos),
  
negative.code: 
  write_string1(_,[], Q) ->
      [Q];
  write_string1(Enc,[C|Cs], Q) when is_integer(C) ->
      string_char(Enc,C, Q, write_string1(Enc,Cs, Q)).
  
  string_char(_,Q, Q, Tail) -> [$\\,Q|Tail];	%Must check these first!
  