module ActionView::Helpers::CaptureHelper

def capture_with_haml(*args, &block)

def capture_with_haml(*args, &block)
  if Haml::Helpers.block_is_haml?(block)
    #double assignment is to avoid warnings
    _hamlout = _hamlout = eval('_hamlout', block.binding) # Necessary since capture_haml checks _hamlout
    capture_haml(*args, &block)
  else
    capture_without_haml(*args, &block)
  end
end

def with_output_buffer_with_haml_xss(*args, &block)

def with_output_buffer_with_haml_xss(*args, &block)
  res = with_output_buffer_without_haml_xss(*args, &block)
  case res
  when Array; res.map {|s| Haml::Util.html_safe(s)}
  when String; Haml::Util.html_safe(res)
  else; res
  end
end