anchor.diff:  	    end,
   	    loop(Port);
       stop ->
  -        erlang:port_close(Port),
  -        exit(normal)
  +        erlang:port_close(Port)
       end.
   
    
  
positive.code:     
      
  trim_range(Range, {Len1, Len2}) ->
      lists:map(fun({S,E}) -> trim_range_1({S,E}, {Len1, Len2}) end, Range).
  trim_range_1(_Range={{File, StartLn, StartCol}, {File, EndLn, EndCol}}, {Len1, Len2}) ->
      S = {StartLn, StartCol},
      E = {EndLn, EndCol},
      Toks =tokenize_file(File, false),
      Toks1 = lists:dropwhile(fun(T) -> token_loc(T) =/=S end, Toks),
      Toks2 = lists:nthtail(Len1, Toks1),
      {StartLn1, StartCol1} = token_loc(hd(Toks2)),
      {Toks3, _Toks4} = lists:splitwith(fun(T) -> token_loc(T) =< E end, Toks1),
      LastTok = hd(lists:nthtail(Len2, lists:reverse(Toks3))),
      {L, C} = token_loc(LastTok),
      {EndLn1, EndCol1} = {L, C+token_len(LastTok)-1},
      {{File, StartLn1, StartCol1}, {File, EndLn1, EndCol1}}.
  
  token_len(T) ->
      V = token_val(T),
  
negative.code: 
  get_clones_by_erlang_suffix_tree(Toks, ProcessedToks, MinLength, MinClones) ->
      ?wrangler_io("\nWrangler failed to use the C suffixtree implementation;"
                   " Initial clones are calculated using Erlang suffixtree implementation.\n",[]),
      Tree = suffix_tree(alphabet() ++ "&", ProcessedToks ++ "&"),
      Cs = lists:flatten(lists:map(fun (B) ->
  					 collect_clones(MinLength, MinClones, B)
  