diff -r af1351800c7a Lib/xml/sax/saxutils.py --- a/Lib/xml/sax/saxutils.py Mon Jul 14 23:07:21 2014 -0400 +++ b/Lib/xml/sax/saxutils.py Wed Jul 16 07:28:36 2014 -0700 @@ -98,14 +98,17 @@ except AttributeError: pass # wrap a binary writer with TextIOWrapper - class UnbufferedTextIOWrapper(io.TextIOWrapper): - def write(self, s): - super(UnbufferedTextIOWrapper, self).write(s) - self.flush() return UnbufferedTextIOWrapper(buffer, encoding=encoding, errors='xmlcharrefreplace', newline='\n') + +class UnbufferedTextIOWrapper(io.TextIOWrapper): + def write(self, s): + super(UnbufferedTextIOWrapper, self).write(s) + self.flush() + + class XMLGenerator(handler.ContentHandler): def __init__(self, out=None, encoding="iso-8859-1"):