Issue 898271: symtable module crashes w/ coding declaration (original) (raw)
The symtable module doesn't work with source code encodings, it seems. Sample code:
#!/usr/bin/env python
-- coding: iso-8859-1 --
import sys import symtable filename = sys.argv[0] tab = symtable.symtable(open(filename).read(), filename, exec") print tab.get_type()
When running this code, I get:
Traceback (most recent call last):
File "./bar.py", line 8, in ?
print tab.get_type()
File "/usr/local/lib/python2.3/symtable.py", line 71,
in get_type
assert self._table.type in (1, 2, 3),
AssertionError: unexpected type: 0
If I remove the source code encoding declaration, things work fine. I've verified this problem with 2.3.2 and 2.3.3. 2.2.0 and 2.2.2 works fine.