anchor.diff:  	[E|Es] -> 
   	    Res = case Es == [] of 
   		      true ->
  -			  [refac_sim_expr_search:get_start_end_loc([E|Es])|search_one_expr(AnnAST, E)];
  +			  SE = refac_sim_expr_search:get_start_end_loc(E),
  +			  SearchRes = search_one_expr(AnnAST, E),
  +			  [SE|(SearchRes--[SE])];
   		      _ -> 
  -			  [refac_sim_expr_search:get_start_end_loc([E|Es])|search_expr_seq(AnnAST, [E|Es])]
  +			  SE =refac_sim_expr_search:get_start_end_loc([E|Es]),
  +			  SearchRes = search_expr_seq(AnnAST, [E|Es]),
  +			  [SE|(SearchRes--[SE])]
   		  end,
  -	    case length(Res)-1 of  
  -		0 -> ?wrangler_io("No identical expression has been found.\n",[]), %% This shouldn't happen.
  +	    Num = length(Res),
  +	    case Num=<1 of  
  +		true -> ?wrangler_io("No identical expression has been found. \n",[]),
   		     {ok, []};
  -		1 -> ?wrangler_io("No identical expression has been found. \n",[]),
  -		     {ok, []};
  -		N -> ?wrangler_io("~p identical expressions (including the selected expression,and up to variable renaming and literal substitution) "
  -				       " have been found. \n", [N]),
  -		     ?wrangler_io("Use 'C-c C-e' to remove highlights!",[]),
  +		false-> ?wrangler_io("\n~p identical expressions(including the expression selected) have been found.\n", [Num]),
  +		     ?wrangler_io(compose_search_result_info(FileName, Res),[]),
  +		     ?wrangler_io("\nUse 'C-c C-e' to remove highlights!\n",[]),
   		     {ok, Res}
   	    end;
   	    _   -> {error, "You have not selected an expression!"}
  
positive.code: 	  end,
      Res.
  
  
negative.code: 				    case BdStructExp == BdStructT of 
  					true ->
  					    {{StartLn, StartCol}, {EndLn, EndCol}}= refac_util:get_range(T),
  					    Acc ++ [{{StartLn, StartCol}, {EndLn, EndCol}}];
  					    _  -> Acc
  				    end;
  				_ -> Acc
  