New submission from Christian Heimes: imp.find_module() returns an io.TextIOWrapper instance first value. The encoding of the TextIOWrapper isn't set from a -*- coding: Latin-1 -*- line.
>>> import imp >>> imp.find_module("heapq") (<io.TextIOWrapper object at 0xb7c8f50c>, '/home/heimes/dev/python/py3k/Lib/heapq.py', ('.py', 'U', 1)) >>> imp.find_module("heapq")[0].read() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/heimes/dev/python/py3k/Lib/io.py", line 1224, in read res += decoder.decode(self.buffer.read(), True) File "/home/heimes/dev/python/py3k/Lib/codecs.py", line 291, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf8' codec can't decode bytes in position 1428-1430: invalid data >>> imp.find_module("heapq")[0].encoding 'UTF-8' >>> imp.find_module("heapq")[0].readline() '# -*- coding: Latin-1 -*-\n' ---------- components: Interpreter Core messages: 56431 nosy: tiran severity: normal status: open title: imp.find_module() ignores -*- coding: Latin-1 -*- type: behavior versions: Python 3.0 __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue1278> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com