title: mark_safe not working/still escaping in simple_tag
body: <p>I'm using Django 1.3 and I have a simple_tag that I need to return some un-escaped HTML and no matter what I do it's still escaping my &amp; to &amp;amp; and my | to %7C.</p>
  
  <pre><code>from django import template
  from django.template import loader, Context
  from django.utils.safestring import mark_safe
  
  register = template.Library()
  
  @register.simple_tag()
  def show_stuff(arg1=None, arg2=None, arg3='someconstant'):
  
      # Do some stuff
  
      if someconstant == 'somevalue':
          template_name = 'template1.html'
      else:
          template_name = 'template2.html'
  
      template = loader.get_template(template_name)
      html = template.render(Context( {'myvar': myvar,} ))
      html = mark_safe(html)
      print type(html)
      return html
  </code></pre>
  
  <p>The print statement reveals</p>
  
  <pre><code>&lt;class 'django.utils.safestring.SafeUnicode'&gt;
  </code></pre>
  
  <p>which from my understanding isn't supposed to be escaped. I'm calling the tag in my template like so:</p>
  
  <pre><code>{% show_stuff 'arg1' 'arg2' 'arg3' %}
  </code></pre>
  
  <p>Help would be greatly appreciated.</p>
  
  <p>Update: Tried the following from comments below. Didn't return an error, but still escapes the HTML:</p>
  
  <pre><code>    ...
      template = loader.get_template(template_name)
      html = template.render(Context( {'myvar': myvar,} ))
      html = mark_safe(html)
      print type(html)
      return html
  show_stuff().is_safe=True
  </code></pre>
  
  <p>Also tried wrapping the contents of template1.html and template2.html in </p>
  
  <pre><code>{% autoescape off %}
  template html contents with &amp; and |
  {% endautoescape %}
  </code></pre>
  
  <p>and wrapping the templatetag call itself with autoescape tags. No success.</p>