anchor.diff:  custom_tags_clauses_ast(CustomTags, Context, TreeWalker) ->
       custom_tags_clauses_ast1(CustomTags, [], [], #ast_info{}, Context, TreeWalker).
   
  -custom_tags_clauses_ast1([], _ExcludeTags, ClauseAcc, InfoAcc, _Context, TreeWalker) ->
  -    {{lists:reverse(
  -        [erl_syntax:clause(
  -           [erl_syntax:variable("_TagName"), erl_syntax:underscore(), erl_syntax:underscore()], 
  -           none, 
  -           [erl_syntax:list([])])
  -         |ClauseAcc]),
  -      InfoAcc}, 
  -     TreeWalker};
  +custom_tags_clauses_ast1([], _ExcludeTags, ClauseAcc, InfoAcc, Context, TreeWalker) ->
  +    {{DefaultAst, DefaultInfo}, TreeWalker1} =
  +        case call_extension(Context, custom_tag_ast, [Context, TreeWalker]) of
  +            undefined ->
  +                {{erl_syntax:clause(
  +                    [erl_syntax:variable("_TagName"), erl_syntax:underscore(), erl_syntax:underscore()], 
  +                    none,
  +                    [erl_syntax:list([])]),
  +                  InfoAcc},
  +                 TreeWalker};
  +            {{ExtAst, ExtInfo}, ExtTreeWalker} ->
  +                Clause = erl_syntax:clause(
  +                           [erl_syntax:variable("TagName"), erl_syntax:variable("_Variables"), erl_syntax:variable("RenderOptions")],
  +                           none, options_match_ast(Context, ExtTreeWalker) ++ [ExtAst]),
  +                {{Clause, merge_info(ExtInfo, InfoAcc)}, ExtTreeWalker}
  +        end,
  +    {{lists:reverse([DefaultAst|ClauseAcc]), DefaultInfo}, TreeWalker1};
   custom_tags_clauses_ast1([Tag|CustomTags], ExcludeTags, ClauseAcc, InfoAcc, Context, TreeWalker) ->
       case lists:member(Tag, ExcludeTags) of
           true ->
  
positive.code:                             throw(Error)
                      end;
                  false ->
                      custom_tags_clauses_ast1(CustomTags, [Tag | ExcludeTags],
  					     ClauseAcc, InfoAcc, Context, TreeWalker)
              end
      end.
  
  
negative.code: %% Custom tags
  %%-------------------------------------------------------------------
  
  tag_ast(Name, Args, Context, TreeWalker) ->
      {{InterpretedArgs, AstInfo1}, TreeWalker1} = lists:foldr(fun
  								 ({{identifier, _, Key}, {trans, StringLiteral}}, {{ArgsAcc, AstInfoAcc}, TreeWalkerAcc}) ->
  