# HG changeset patch
# User cmlenz
# Date 1153414526 0
# Node ID e82d1bb07464162b0c0b33ed3e2b564de5cbf26b
# Parent 242610137d1f13614702fb084d9a966b62fc02a9
Some subtle fixes to generation and sanitization.
diff --git a/markup/builder.py b/markup/builder.py
--- a/markup/builder.py
+++ b/markup/builder.py
@@ -70,7 +70,9 @@
for event in child.generate():
yield event
else:
- yield Stream.TEXT, unicode(child), (-1, -1)
+ if not isinstance(child, basestring):
+ child = unicode(child)
+ yield Stream.TEXT, child, (-1, -1)
return Stream(_generate())
diff --git a/markup/core.py b/markup/core.py
--- a/markup/core.py
+++ b/markup/core.py
@@ -334,7 +334,7 @@
from markup.filters import HTMLSanitizer
from markup.input import HTMLParser
text = StringIO(self.stripentities(keepxmlentities=True))
- return Stream(HTMLSanitizer()(HTMLParser(text)))
+ return Markup(Stream(HTMLSanitizer()(HTMLParser(text))))
escape = Markup.escape
diff --git a/markup/tests/core.py b/markup/tests/core.py
--- a/markup/tests/core.py
+++ b/markup/tests/core.py
@@ -123,9 +123,9 @@
markup = Markup('')
self.assertEquals('', str(markup.sanitize()))
markup = Markup('