anchor.diff:      true;
   runopt(_) ->
       false.
  +
  +to_binary(Bin, _IsUnicode) when is_binary(Bin) ->
  +    Bin;
  +to_binary(Data, true) ->
  +    unicode:characters_to_binary(Data,unicode);
  +to_binary(Data, false) ->
  +    iolist_to_binary(Data).
  
positive.code:     try
      {NewOpt,Convert,Unicode,Limit,Strip,Group} =
  	process_split_params(Options,iodata,false,-1,false,false),
      FlatSubject = 
  	case is_binary(Subject) of
  	    true ->
  		Subject;
  	    false ->
  		case Unicode of
  		    true ->
  			unicode:characters_to_binary(Subject,unicode);
  		    false ->
  			iolist_to_binary(Subject)
  		end
  	end,
      case compile_split(RE,NewOpt) of
  	{error,_Err} ->
  	    throw(badre);
  
negative.code: 
  grun2(Subject,RE,{Options,NeedClean}) ->
      Unicode = check_for_unicode(RE,Options),
      FlatSubject = to_binary(Subject, Unicode),
      do_grun(FlatSubject,Subject,Unicode,RE,{Options,NeedClean}).
  
  do_grun(FlatSubject,Subject,Unicode,RE,{Options0,NeedClean}) ->
  