anchor.diff:                         {';',_} -> 
                              throw({error, Reason});
                          _ ->
  -                           case wrangler_parse:parse_exprs(Toks2) of
  +                           case wrangler_parse:parse_exprs(Toks2) of   %% does not work with macros in string.
                                  {ok, Exprs} ->
                                      Exprs1 =wrangler_epp_dodger:rewrite_list(Exprs),
                                      Exprs2 = make_tree({block, StartLoc, Exprs1}),
  
positive.code:     parse_annotate_expr(ExprStr, {StartLoc, 1});
  parse_annotate_expr(ExprStr, StartLoc) when is_tuple(StartLoc) ->
      case wrangler_scan:string(ExprStr, StartLoc) of
          {ok, Toks, _} ->
              [T|Ts] = lists:reverse(Toks),
              Toks1 = case T of 
                          {dot, _} -> Toks;
  
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 ->
  