Author: christian.heimes Date: Thu Nov 8 17:34:32 2007 New Revision: 58913
Modified: python/branches/py3k/Lib/io.py python/branches/py3k/Lib/py_compile.py Log: Fixed #1403 where compileall and py_compile choked on an encoding header in a py file. Both modules need more unit tests. Modified: python/branches/py3k/Lib/io.py ============================================================================== --- python/branches/py3k/Lib/io.py (original) +++ python/branches/py3k/Lib/io.py Thu Nov 8 17:34:32 2007 @@ -1063,6 +1063,9 @@ else: encoding = locale.getpreferredencoding() + if not isinstance(encoding, str): + raise ValueError("invalid encoding: %r" % encoding) + self.buffer = buffer self._encoding = encoding self._readuniversal = not newline Modified: python/branches/py3k/Lib/py_compile.py ============================================================================== --- python/branches/py3k/Lib/py_compile.py (original) +++ python/branches/py3k/Lib/py_compile.py Thu Nov 8 17:34:32 2007 @@ -88,7 +88,7 @@ break m = re.match(r".*\bcoding:\s*(\S+)\b", line) if m: - return str(m.group(1)) + return m.group(1).decode("ascii") return default finally: f.close() _______________________________________________ Python-3000-checkins mailing list Python-3000-checkins@python.org http://mail.python.org/mailman/listinfo/python-3000-checkins