# File lib/haml/safemode.rb, line 13
    def precompile_for_safemode(filename, ignore_assigns = [], delegate_methods = [])        
        @precompiled.gsub!('\\','\\\\\\') # backslashes would disappear in compile_template/modul_eval, so we escape them
        
        "buffer = Haml::Buffer.new(\#{options_for_buffer.inspect})\nlocal_assigns = local_assigns.merge :_hamlout => buffer\n\nhandler = ActionView::TemplateHandlers::SafeHaml\nassigns = handler.valid_assigns(@template.assigns)\nmethods = handler.delegate_methods(self)\ncode = %Q(\#{code});\n\nbox = Safemode::Box.new(self, methods, \#{filename.inspect}, 0)\nbox.eval(code, assigns, local_assigns, &lambda{ yield })\nbuffer.buffer\n" 

        # preamble =  "buffer = Haml::Buffer.new(#{options_for_buffer.inspect})
        #              local_assigns = local_assigns.merge :_hamlout => buffer
        #              assigns = @template.assigns.reject{|key, value| #{ignore_assigns.inspect}.include?(key) };".gsub("\n", ';')
        #             
        # postamble = "box = Safemode::Box.new(self, #{delegate_methods.inspect})
        #              box.eval(code, assigns, local_assigns, &lambda{ yield })
        #              buffer.buffer".gsub("\n", ';')
        # 
        # preamble + "code = %Q(#{@precompiled});" + postamble
    end