anchor.diff:      get_search_paths/1,
       str/1,
       call_special/3,
  -    call_special/4,
  -    render_string/2,
  -    render_string/3
  +    call_special/4
     ]).
   
   -define(OPT_ENV(Desc),
  
positive.code:     _ -> []
    end ++
    Options.
  
  %-define(DIR_TMP, ".tmp").
  %-define(DIR_JS,  "js").
  %-define(DIR_CSS, "css").
  %-define(DIR_IMG, "img").
  %-define(DIR_DYN, "dynamic").
  
  %set_up_staging() ->
  %  {ok, CurrDir} = file:get_cwd(),
  %  BaseDir = tmp_filename(),
  %  DirMain = filename:join([CurrDir, BaseDir]),
  %  DirTmp =  filename:join([DirMain, ?DIR_TMP]),
  %  DirJS =   filename:join([DirMain, ?DIR_JS]),
  %  DirCSS =  filename:join([DirMain, ?DIR_CSS]),
  %  DirImg =  filename:join([DirMain, ?DIR_IMG]),
  %  DirDyn =  filename:join([DirMain, ?DIR_DYN]),
  %  file:make_dir(DirMain),
  %  file:make_dir(DirTmp),
  %  file:make_dir(DirJS),
  %  file:make_dir(DirCSS),
  %  file:make_dir(DirImg),
  %  file:make_dir(DirDyn),
  %  {DirMain, DirTmp, DirJS, DirCSS, DirImg, DirDyn}.
  
  
  run_specialized_handlers(AST, Options) ->
  
negative.code:       _ -> Options
      end,
    {ok, Bin} = file:read_file(InFile),
    template_string(binary_to_list(Bin), Options2).
  
  template_stream(Stream) -> template_stream(Stream, []).
  
  template_stream(Stream, Options) ->
    Str = io:get_chars(Stream, "", 1024000),
    template_string(Str, Options).
  
  template_string(Str) -> template_string(Str, []).
  
  template_string(Str, Options) ->
    Options2 = other_options(Options),
    AST = zml_indent:tokenize_string(Str), % TODO: pass options here
    AST2 = run_specialized_handlers(AST, Options2),
    translate_ast_item(AST2, []).
  
  
  render(Template) -> render(Template, fake).
  
  render(Template, Data) -> zml_render:render(Template, Data).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  other_options(Options) ->
    case ?OPT_ENV(zml_zss_libs) of
  