anchor.diff:      Cs3 = combine_neighbour_clones(Cs2, MinLength, MinClones),
       ?debug("Type3 without trimming:~p\n", [length(Cs3)]),
       ?debug("Trimming clones.\n", []),
  -    Cs4 = trim_clones(FileNames, Cs3, MinLength, MinClones, TabWidth),
  -    {Cs4, FileNames}.
  +    trim_clones(FileNames, Cs3, MinLength, MinClones, TabWidth).
  +    
   
   
   %% =====================================================================
  
positive.code: 		    _ -> MinClones1
  		end,
      start(SuffixTreeExec),
      {Cs5, _FileNames} = duplicated_code_detection(DirFileList, MinClones, MinLength, TabWidth),
      remove_sub_clones(Cs5).
      
  duplicated_code(DirFileList, MinLength1, MinClones1, TabWidth) ->
  
negative.code:     {'!','!'}].
  %% =====================================================================
  
  
  
  %% ===========================================================================
  %% display the found-out clones to the user.
  display_clones_by_freq(Cs) ->
      ?wrangler_io("\n===================================================================\n",[]),
      ?wrangler_io("Clone Detection Results Sorted by the Number of Times Being Duplicated.\n",[]),
      ?wrangler_io("======================================================================\n",[]),		 
      ?wrangler_io(display_clones(Cs),[]).
  
  display_clones_by_length(Cs) ->
      ?wrangler_io("\n===================================================================\n",[]),
      ?wrangler_io("Clone Detection Results Sorted by the Size of the Duplicated Code.\n",[]),
      ?wrangler_io("======================================================================\n",[]),		 
      Cs1 = lists:sort(fun({_Range1, Len1, F1},{_Range2, Len2, F2})
  			-> {Len1, F1} >= {Len2, F2}
  		     end, Cs),
      ?wrangler_io(display_clones(Cs1),[]).
  
  %% display the found-out clones to the user.
  display_clones(Cs) ->
      Num = length(Cs),
      Str = io_lib:format("\nClone detection finished with *** ~p *** clone(s) found.\n", [Num]),
      case Num of 
  	0 -> ok;
  	_ -> display_clones_1(Cs, Str)
      end.
  display_clones_1([], Str) -> Str ++ "\n";
  display_clones_1([{Ranges, _Len, F}| Cs], Str) ->
      [{{File, StartLine, StartCol}, {File, EndLine, EndCol}}| Range] = lists:keysort(1, Ranges),
      NewStr = compose_clone_info({File, StartLine, StartCol}, {File, EndLine, EndCol}, F, Range, Str),
      display_clones_1(Cs, NewStr).
  
  compose_clone_info({File, StartLine, StartCol}, {File, EndLine, EndCol}, F, Range, Str) ->
      case F - 1 of
  	1 -> Str1 = Str ++ "\n" ++ File ++ io_lib:format(":~p.~p-~p.~p: This code has been duplicated once:\n",
  							 [StartLine, StartCol - 1, EndLine, EndCol]),
  	     display_clones_2(Range, Str1);
  	2 -> Str1 = Str ++ "\n" ++ File ++ io_lib:format(":~p.~p-~p.~p: This code has been duplicated twice:\n",
  							 [StartLine, StartCol - 1, EndLine, EndCol]),
  	     display_clones_2(Range, Str1);
  	_ -> Str1 = Str ++ "\n" ++ File ++ io_lib:format(":~p.~p-~p.~p: This code has been duplicated ~p times:\n",
  							 [StartLine, StartCol - 1, EndLine, EndCol, F - 1]),
  	     display_clones_2(Range, Str1)
      end.
  
  display_clones_2([], Str) -> Str ++ "\n";
  display_clones_2([{{File, StartLine, StartCol}, {File, EndLine, EndCol}}|Rs], Str) ->
      Str1 = case Rs == [] of 
  	       true ->
  		   Str ++ File++io_lib:format(":~p.~p-~p.~p:  \n", [StartLine,StartCol-1,EndLine, EndCol]);
  	       _ ->
  		   Str ++ File++io_lib:format(":~p.~p-~p.~p:  \n", [StartLine, StartCol-1, EndLine, EndCol])
  	   end,
      display_clones_2(Rs, Str1).
  		    
      
  				    
  