diff -r -u ..\original\py3k\Lib/mailbox.py Lib/mailbox.py --- ..\original\py3k\Lib/mailbox.py 2008-03-26 13:48:06.917859100 +0100 +++ Lib/mailbox.py 2008-03-26 14:58:31.773953300 +0100 @@ -311,7 +311,7 @@ def get_message(self, key): """Return a Message representation or raise a KeyError.""" subpath = self._lookup(key) - f = open(os.path.join(self._path, subpath), 'r') + f = open(os.path.join(self._path, subpath), 'r', newline='') try: if self._factory: msg = self._factory(f) @@ -328,7 +328,7 @@ def get_string(self, key): """Return a string representation or raise a KeyError.""" - f = open(os.path.join(self._path, self._lookup(key)), 'r') + f = open(os.path.join(self._path, self._lookup(key)), 'r', newline='') try: return f.read() finally: @@ -336,7 +336,7 @@ def get_file(self, key): """Return a file-like representation or raise a KeyError.""" - f = open(os.path.join(self._path, self._lookup(key)), 'r') + f = open(os.path.join(self._path, self._lookup(key)), 'r', newline='') return _ProxyFile(f) def iterkeys(self): @@ -502,15 +502,15 @@ """Initialize a single-file mailbox.""" Mailbox.__init__(self, path, factory, create) try: - f = open(self._path, 'r+') + f = open(self._path, 'r+', newline='') except IOError as e: if e.errno == errno.ENOENT: if create: - f = open(self._path, 'w+') + f = open(self._path, 'w+', newline='') else: raise NoSuchMailboxError(self._path) elif e.errno == errno.EACCES: - f = open(self._path, 'r') + f = open(self._path, 'r', newline='') else: raise self._file = f @@ -866,7 +866,7 @@ """Replace the keyed message; raise KeyError if it doesn't exist.""" path = os.path.join(self._path, str(key)) try: - f = open(path, 'r+') + f = open(path, 'r+', newline='') except IOError as e: if e.errno == errno.ENOENT: raise KeyError('No message with key: %s' % key) @@ -890,9 +890,9 @@ """Return a Message representation or raise a KeyError.""" try: if self._locked: - f = open(os.path.join(self._path, str(key)), 'r+') + f = open(os.path.join(self._path, str(key)), 'r+', newline='') else: - f = open(os.path.join(self._path, str(key)), 'r') + f = open(os.path.join(self._path, str(key)), 'r', newline='') except IOError as e: if e.errno == errno.ENOENT: raise KeyError('No message with key: %s' % key) @@ -917,9 +917,9 @@ """Return a string representation or raise a KeyError.""" try: if self._locked: - f = open(os.path.join(self._path, str(key)), 'r+') + f = open(os.path.join(self._path, str(key)), 'r+', newline='') else: - f = open(os.path.join(self._path, str(key)), 'r') + f = open(os.path.join(self._path, str(key)), 'r', newline='') except IOError as e: if e.errno == errno.ENOENT: raise KeyError('No message with key: %s' % key) @@ -939,7 +939,7 @@ def get_file(self, key): """Return a file-like representation or raise a KeyError.""" try: - f = open(os.path.join(self._path, str(key)), 'r') + f = open(os.path.join(self._path, str(key)), 'r', newline='') except IOError as e: if e.errno == errno.ENOENT: raise KeyError('No message with key: %s' % key) @@ -1017,7 +1017,7 @@ def get_sequences(self): """Return a name-to-key-list dictionary to define each sequence.""" results = {} - f = open(os.path.join(self._path, '.mh_sequences'), 'r') + f = open(os.path.join(self._path, '.mh_sequences'), 'r', newline='') try: all_keys = set(self.keys()) for line in f: @@ -1043,7 +1043,7 @@ def set_sequences(self, sequences): """Set sequences using the given name-to-key-list dictionary.""" - f = open(os.path.join(self._path, '.mh_sequences'), 'r+') + f = open(os.path.join(self._path, '.mh_sequences'), 'r+', newline='') try: os.close(os.open(f.name, os.O_WRONLY | os.O_TRUNC)) for name, keys in sequences.items(): @@ -1904,7 +1904,7 @@ """Create a file if it doesn't exist and open for reading and writing.""" fd = os.open(path, os.O_CREAT | os.O_EXCL | os.O_RDWR) try: - return open(path, 'r+') + return open(path, 'r+', newline='') finally: os.close(fd) @@ -2072,7 +2072,7 @@ if not self.boxes: return None fn = self.boxes.pop() - fp = open(os.path.join(self.dirname, fn)) + fp = open(os.path.join(self.dirname, fn), newline='') msg = self.factory(fp) try: msg._mh_msgno = fn diff -r -u ..\original\py3k\Lib/test/test_mailbox.py Lib/test/test_mailbox.py --- ..\original\py3k\Lib/test/test_mailbox.py 2008-03-26 13:48:57.369825900 +0100 +++ Lib/test/test_mailbox.py 2008-03-26 14:59:00.682254200 +0100 @@ -408,8 +408,7 @@ _sample_message, io.StringIO(_sample_message)): output = io.StringIO() self._box._dump_message(input, output) - self.assertEqual(output.getvalue(), - _sample_message.replace('\n', os.linesep)) + self.assertEqual(output.getvalue(), _sample_message) output = io.StringIO() self.assertRaises(TypeError, lambda: self._box._dump_message(None, output)) @@ -755,7 +754,7 @@ self._box._file.seek(0) contents = self._box._file.read() self._box.close() - self.assertEqual(contents, open(self._path, 'r').read()) + self.assertEqual(contents, open(self._path, 'r', newline='').read()) self._box = self._factory(self._path) def test_lock_conflict(self): @@ -986,7 +985,7 @@ def test_initialize_with_file(self): # Initialize based on contents of file - f = open(self._path, 'w+') + f = open(self._path, 'w+', newline='') f.write(_sample_message) f.seek(0) msg = self._factory(f) @@ -1716,7 +1715,7 @@ filename = ".".join((str(t), str(pid), "myhostname", "mydomain")) tmpname = os.path.join(self._dir, "tmp", filename) newname = os.path.join(self._dir, dir, filename) - fp = open(tmpname, "w") + fp = open(tmpname, "w", newline='') self._msgfiles.append(tmpname) if mbox: fp.write(FROM_) @@ -1725,7 +1724,7 @@ if hasattr(os, "link"): os.link(tmpname, newname) else: - fp = open(newname, "w") + fp = open(newname, "w", newline='') fp.write(DUMMY_MESSAGE) fp.close() self._msgfiles.append(newname)