anchor.diff:  								 ([{identifier, _, 'safeseq'}], {{AstAcc, InfoAcc}, TreeWalkerAcc}) ->
   								    {{AstAcc, InfoAcc}, TreeWalkerAcc#treewalker{safe = true}};
   								 (Filter, {{AstAcc, InfoAcc}, TreeWalkerAcc}) ->
  -								    {Ast, AstInfo} = filter_ast1(Filter, AstAcc, Context),
  -								    {{Ast, merge_info(InfoAcc, AstInfo)}, TreeWalkerAcc}
  +								    {{Ast, AstInfo}, TW} = filter_ast1(Filter, AstAcc, Context, TreeWalkerAcc),
  +								    {{Ast, merge_info(InfoAcc, AstInfo)}, TW}
   							    end, {{erl_syntax:application(
   								     erl_syntax:atom(erlang),
   								     erl_syntax:atom(iolist_to_binary),
  
positive.code:         {'apply_filter', Variable, Filter} ->
              filter_ast(Variable, Filter, Context, TreeWalker);
          {'attribute', _} = Variable ->
              {Ast, VarName} = resolve_variable_ast(Variable, Context, EmptyIfUndefined),
              {{Ast, #ast_info{var_names = [VarName]}}, TreeWalker};
          {'variable', _} = Variable ->
              {Ast, VarName} = resolve_variable_ast(Variable, Context, EmptyIfUndefined),
              {{Ast, #ast_info{var_names = [VarName]}}, TreeWalker};
          {extension, Tag} ->
              extension_ast(Tag, Context, TreeWalker)
      end.
  
negative.code:     value_ast(Variable, true, false, Context, TreeWalker#treewalker{safe = true});
  filter_ast_noescape(Variable, Filter, Context, TreeWalker) ->
      {{VariableAst, Info1}, TreeWalker2} = value_ast(Variable, true, false, Context, TreeWalker),
      {{VarValue, Info2}, TreeWalker3} = filter_ast1(Filter, VariableAst, Context, TreeWalker2),
      {{VarValue, merge_info(Info1, Info2)}, TreeWalker3}.
  
  filter_ast1([{identifier, _, Name}, {string_literal, _, ArgName}], VariableAst,
              #dtl_context{ binary_strings = true } = Context, TreeWalker) ->
      filter_ast2(Name, VariableAst, [binary_string(unescape_string_literal(ArgName))], #ast_info{}, Context, TreeWalker);
  filter_ast1([{identifier, _, Name}, {string_literal, _, ArgName}], VariableAst,
              #dtl_context{ binary_strings = false } = Context, TreeWalker) ->
      filter_ast2(Name, VariableAst, [erl_syntax:string(unescape_string_literal(ArgName))], #ast_info{}, Context, TreeWalker);
  filter_ast1([{identifier, _, Name}, {number_literal, _, ArgName}], VariableAst, Context, TreeWalker) ->
      filter_ast2(Name, VariableAst, [erl_syntax:integer(list_to_integer(ArgName))], #ast_info{}, Context, TreeWalker);
  filter_ast1([{identifier, _, Name}, ArgVariable], VariableAst, Context, TreeWalker) ->
      {{ArgAst, ArgInfo}, TreeWalker2} = resolve_variable_ast(ArgVariable, Context, TreeWalker, false),
      filter_ast2(Name, VariableAst, [ArgAst], ArgInfo, Context, TreeWalker2);
  filter_ast1([{identifier, _, Name}], VariableAst, Context, TreeWalker) ->
      filter_ast2(Name, VariableAst, [], #ast_info{}, Context, TreeWalker).
  
  filter_ast2(Name, VariableAst, [], VarInfo, #dtl_context{ filter_modules = [Module|Rest] } = Context, TreeWalker) ->
      case lists:member({Name, 1}, Module:module_info(exports)) of
          true ->
              {{erl_syntax:application(
                  erl_syntax:atom(Module), erl_syntax:atom(Name),
                  [VariableAst]),
                VarInfo},
               TreeWalker};
          false ->
              filter_ast2(Name, VariableAst, [], VarInfo, Context#dtl_context{ filter_modules = Rest }, TreeWalker)
      end;
  filter_ast2(Name, VariableAst, [Arg], VarInfo, #dtl_context{ filter_modules = [Module|Rest] } = Context, TreeWalker) ->
      case lists:member({Name, 2}, Module:module_info(exports)) of
          true ->
              {{erl_syntax:application(
                  erl_syntax:atom(Module), erl_syntax:atom(Name),
                  [VariableAst, Arg]),
                VarInfo},
               TreeWalker};
          false ->
              filter_ast2(Name, VariableAst, [Arg], VarInfo, Context#dtl_context{ filter_modules = Rest }, TreeWalker)
      end.
  
  search_for_escape_filter(Variable, Filter, #dtl_context{auto_escape = on}) ->
  