module ActionView::Helpers::FormTagHelper

def form_tag_with_haml(url_for_options = {}, options = {}, *parameters_for_url, &proc)

def form_tag_with_haml(url_for_options = {}, options = {}, *parameters_for_url, &proc)
  if is_haml?
    wrap_block = block_given? && block_is_haml?(proc)
    if wrap_block
      oldproc = proc
      proc = haml_bind_proc do |*args|
        concat "\n"
        with_tabs(1) {oldproc.call(*args)}
      end
    end
    res = form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc) + "\n"
    res << "\n" if wrap_block
    res
  else
    form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc)
  end
end

def form_tag_with_haml(url_for_options = {}, options = {}, *parameters_for_url, &proc)

def form_tag_with_haml(url_for_options = {}, options = {}, *parameters_for_url, &proc)
  if is_haml?
    wrap_block = block_given? && block_is_haml?(proc)
    if wrap_block
      oldproc = proc
      proc = haml_bind_proc do |*args|
        concat "\n"
        tab_up
        oldproc.call(*args)
        tab_down
        concat haml_indent
      end
      concat haml_indent
    end
    res = form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc) + "\n"
    if block_given?
      concat "\n"
      return Haml::Helpers::ErrorReturn.new("form_tag")
    end
    res
  else
    form_tag_without_haml(url_for_options, options, *parameters_for_url, &proc)
  end
end

def form_tag_with_haml_xss(*args, &block)

def form_tag_with_haml_xss(*args, &block)
  res = form_tag_without_haml_xss(*args, &block)
  res = Haml::Util.html_safe(res) unless block_given?
  res
end