anchor.diff:  %% </dl>
   %%
   %% @see parse/2
  -%% @see quick_parse_file/1
   %% @see refac_syntax:is_form/1
   
   parse_file(File, Options) ->
  
positive.code: 
  parse_tokens(Ts) ->
      parse_tokens(Ts, fun fix_form/1).
  
  parse_tokens(Ts, Fix) ->
      case refac_parse:parse_form(Ts) of
          {ok, Form} ->
  	    Form;
          {error, IoErr} ->
  
negative.code:     scan_macros_1([], Rest, [{atom,L,macro_atom(Type,LA,A)} | As], Opt).
  
  macro_call([{'(',_}, {')',_}], L, {_, Ln, _}=N, Rest, As, Opt) ->
      {Open, Close} = parentheses(As, L),
      scan_macros_1([], Rest,
  		  lists:reverse(Open ++ [{atom,L,?macro_call},
  					 {'(',L}, N, {')',Ln}] ++ Close,
  				As), Opt);
  macro_call([{'(',_} | Args], L, {_, Ln, _}=N, Rest, As, Opt) ->
      {Open, Close} = parentheses(As, L),
      %% note that we must scan the argument list; it may not be skipped
      scan_macros_1(Args ++ Close,
  		  Rest,
  