            if isinstance(value, SafeData):
                # Do something with the "safe" string.
  
      * **Strings marked as "needing escaping"** are *always* escaped on
        output, regardless of whether they are in an ``autoescape`` block or not.
        These strings are only escaped once, however, even if auto-escaping
        applies.
  
        Internally, these strings are of type ``EscapeString`` or
        ``EscapeUnicode``. Generally you don't have to worry about these; they
        exist for the implementation of the ``escape`` filter.
 
</s> remove       for them using code like::
 </s> add       for them using code like:

      .. code-block:: python </s> remove A couple of things to note about the ``simple_tag`` helper function:
 </s> add A few things to note about the ``simple_tag`` helper function: </s> remove information on the node itself. For example, Django provides a builtin ``cycle``
template tag that cycles among a list of given strings each time it's rendered::
 </s> add information on the node itself. For example, Django provides a builtin
``cycle`` template tag that cycles among a list of given strings each time it's
rendered:

.. code-block:: html+django </s> remove ``autoescape`` that you can use for this purpose. For example::
 </s> add ``autoescape`` that you can use for this purpose. For example:

.. code-block:: python
      output, regardless of whether they are in an :ttag:`autoescape` block or
      not. These strings are only escaped once, however, even if auto-escaping
            if isinstance(value, SafeData):
                # Do something with the "safe" string.
  
      * **Strings marked as "needing escaping"** are *always* escaped on
      output, regardless of whether they are in an :ttag:`autoescape` block or
      not. These strings are only escaped once, however, even if auto-escaping
      output, regardless of whether they are in an :ttag:`autoescape` block or
      not. These strings are only escaped once, however, even if auto-escaping
        applies.
  
        Internally, these strings are of type ``EscapeString`` or
        ``EscapeUnicode``. Generally you don't have to worry about these; they
        exist for the implementation of the ``escape`` filter.
keep keep keep keep replace replace keep keep keep keep keep
 Brushed up the custom template tag 'howto' guide by moving the assignment_tag doc to a more appropriate place (i.e. under the "Setting a variable in the context" section), adding cross references, fixing a few minor inaccuracies and doing a little PEP8 cleanup.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16909 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
docs/howto/custom-template-tags.txt