mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Fixed #1403 where compileall and py_compile choked on an encoding header in a py file. Both modules need more unit tests.
This commit is contained in:
parent
1a13d59709
commit
8bd14fb398
2 changed files with 4 additions and 1 deletions
|
@ -1063,6 +1063,9 @@ class TextIOWrapper(TextIOBase):
|
||||||
else:
|
else:
|
||||||
encoding = locale.getpreferredencoding()
|
encoding = locale.getpreferredencoding()
|
||||||
|
|
||||||
|
if not isinstance(encoding, str):
|
||||||
|
raise ValueError("invalid encoding: %r" % encoding)
|
||||||
|
|
||||||
self.buffer = buffer
|
self.buffer = buffer
|
||||||
self._encoding = encoding
|
self._encoding = encoding
|
||||||
self._readuniversal = not newline
|
self._readuniversal = not newline
|
||||||
|
|
|
@ -88,7 +88,7 @@ def read_encoding(file, default):
|
||||||
break
|
break
|
||||||
m = re.match(r".*\bcoding:\s*(\S+)\b", line)
|
m = re.match(r".*\bcoding:\s*(\S+)\b", line)
|
||||||
if m:
|
if m:
|
||||||
return str(m.group(1))
|
return m.group(1).decode("ascii")
|
||||||
return default
|
return default
|
||||||
finally:
|
finally:
|
||||||
f.close()
|
f.close()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue