anchor.diff:  %%-spec add_range(syntaxTree(), [token()]) -> syntaxTree(). 
   add_range(AST, Toks) ->
       QAtomPs= [Pos||{qatom, Pos, _Atom}<-Toks],
  -    ast_traverse_api:full_buTP(fun do_add_range/2, AST, {Toks, QAtomPs}).
  +    Toks1 =[Tok||Tok<-Toks, not (is_whitespace_or_comment(Tok))],
  +    ast_traverse_api:full_buTP(fun do_add_range/2, AST, {Toks1, QAtomPs}).
   
   do_add_range(Node, {Toks, QAtomPs}) ->
       {L, C} = case refac_syntax:get_pos(Node) of
  
positive.code: start_pos(F) ->
      case refac_syntax:type(F) of 
  	error_marker ->
  	    case F of
  		{error, {_, {{Line, Col}, {_Line1, _Col1}}}} ->
  		    {Line, Col};
  		_ ->
  
negative.code: 	eof_marker -> refac_syntax:add_ann({range, {{L, C}, {L, C}}}, Node);
  	nil -> refac_syntax:add_ann({range, {{L, C}, {L, C + 1}}}, Node);
  	module_qualifier ->
              Arg = refac_syntax:module_qualifier_argument(Node),
              Field = refac_syntax:module_qualifier_body(Node),
              {S1,_E1} = get_range(Arg),
              {_S2,E2} = get_range(Field),
              Node1 = refac_syntax:set_pos(Node, S1),
              refac_syntax:add_ann({range,{S1,E2}},Node1);
  	list ->  
              Es = list_elements(Node),
              case Es/=[] of
  