]> granicus.if.org Git - python/commitdiff
use some more itertools magic to make '' be yielded after readline is done
authorBenjamin Peterson <benjamin@python.org>
Sat, 14 Nov 2009 18:09:17 +0000 (18:09 +0000)
committerBenjamin Peterson <benjamin@python.org>
Sat, 14 Nov 2009 18:09:17 +0000 (18:09 +0000)
Lib/tokenize.py

index b8ee2c854f9e8fdc0db383bfd7369d48bf0629de..f82922b7f084801a8bde8a47b5011909c3fb7a85 100644 (file)
@@ -379,10 +379,11 @@ def tokenize(readline):
     """
     # This import is here to avoid problems when the itertools module is not
     # built yet and tokenize is imported.
-    from itertools import chain
+    from itertools import chain, repeat
     encoding, consumed = detect_encoding(readline)
-    rl_iter = iter(readline, "")
-    return _tokenize(chain(consumed, rl_iter).__next__, encoding)
+    rl_gen = iter(readline, b"")
+    empty = repeat(b"")
+    return _tokenize(chain(consumed, rl_gen, empty).__next__, encoding)
 
 
 def _tokenize(readline, encoding):