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.