SF bug #1235646: codecs.StreamRecoder.next() now reencodes the data it reads
from the input stream, so that the output is a byte string in the correct
encoding instead of a unicode string.
diff --git a/Lib/codecs.py b/Lib/codecs.py
index a964f99..d972a51 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -556,7 +556,9 @@
     def next(self):
 
         """ Return the next decoded line from the input stream."""
-        return self.reader.next()
+        data = self.reader.next()
+        data, bytesencoded = self.encode(data, self.errors)
+        return data
 
     def __iter__(self):
         return self
diff --git a/Misc/NEWS b/Misc/NEWS
index 307b359..3ac8db4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -439,6 +439,9 @@
   about illegal code points. The codec now supports PEP 293 style error
   handlers.
 
+- Bug #1235646: ^^codecs.StreamRecoder.next()^^ now reencodes the data it reads
+  from the input stream, so that the output is a byte string in the correct
+  encoding instead of a unicode string.
 
 Build
 -----