Index: Objects/fileobject.c =================================================================== --- Objects/fileobject.c (revision 58227) +++ Objects/fileobject.c (working copy) @@ -718,6 +718,7 @@ int c; c = GETC(f->f_fp); if (c == '\n') { + f->f_newlinetypes |= NEWLINE_CRLF; pos++; f->f_skipnextlf = 0; } else if (c != EOF) ungetc(c, f->f_fp); Index: Lib/test/test_univnewlines.py =================================================================== --- Lib/test/test_univnewlines.py (revision 58227) +++ Lib/test/test_univnewlines.py (working copy) @@ -105,6 +105,13 @@ NEWLINE = '\r\n' DATA = DATA_CRLF + def test_tell(self): + fp = open(test_support.TESTFN, self.READMODE) + self.assertEqual(repr(fp.newlines), repr(None)) + data = fp.readline() + pos = fp.tell() + self.assertEqual(repr(fp.newlines), repr(self.NEWLINE)) + class TestMixedNewlines(TestGenericUnivNewlines): NEWLINE = ('\r', '\n') DATA = DATA_MIXED