anchor.diff:      end.
   
   
  +parse_form(Ts, L1) ->
  +    case catch {ok, wrangler_epp_dodger:normal_parser(Ts, [])} of
  +        {'EXIT', Term} ->
  +            {error, {io_error(L1, {unknown, Term}), {start_pos(Ts, L1),end_pos(Ts,L1)}}, L1};
  +        {error, Term} ->
  +            IoErr = io_error(L1, Term),
  +            {error, {IoErr, {start_pos(Ts, L1), end_pos(Ts, L1)}}};
  +        {parse_error, IoErr} ->
  +            {error, {IoErr, {start_pos(Ts, L1), end_pos(Ts, L1)}}};
  +        {parse_error, IoErr, Range} ->
  +            {error, {IoErr, Range}};
  +        {ok, F} ->
  +            {ok, F}
  +    end.
  +
  +io_error(L, Desc) ->
  +    {L, ?MODULE, Desc}.
  +
  +start_pos([T | _Ts], _L) ->
  +    element(2, T);
  +start_pos([], L) ->
  +    L.
  +
  +
  +end_pos([], L) ->
  +    L;
  +end_pos(Ts, _L) ->
  +    element(2, lists:last(Ts)).
   
   %%================================================================
   %%@spec(extend_function_clause(Tree::syntaxTree()) -> syntaxTree()).
  
positive.code:                        {';',_} -> 
                             throw({error, Reason});
                         _ ->
                             case wrangler_parse:parse_exprs(Toks2) of
                                 {ok, Exprs} ->
                                     Exprs1 =wrangler_epp_dodger:rewrite_list(Exprs),
                                     Exprs2 = make_tree({block, StartLoc, Exprs1}),
  
negative.code:                         _ -> Toks++[{dot, 999}]
                      end,
              Toks2 = wrangler_epp_dodger:scan_macros(Toks1,[]),
              %% case wrangler_parse:parse_form(Toks1) of 
              case parse_form(Toks1, L1) of  %% keep macros in AST; does this affect other things?
                  {ok, AbsForm} ->
                      case wrangler_syntax:type(AbsForm) of
                          function ->
  