Fix problem when exec'ing a string with a coding

This commit is contained in:
Neal Norwitz 2007-08-11 21:31:25 +00:00
parent 7ac971243b
commit f7f28fc46b
2 changed files with 6 additions and 1 deletions

View File

@ -21,6 +21,11 @@ class CodingTest(unittest.TestCase):
fp.close()
self.assertRaises(SyntaxError, compile, text, filename, 'exec')
def test_exec_valid_coding(self):
d = {}
exec('# coding: cp949\na = 5\n', d)
self.assertEqual(d['a'], 5)
def test_main():
test.test_support.run_unittest(CodingTest)

View File

@ -632,7 +632,7 @@ decode_str(const char *str, struct tok_state *tok)
"unknown encoding: %s", tok->enc);
return error_ret(tok);
}
str = PyString_AsString(utf8);
str = PyBytes_AsString(utf8);
}
assert(tok->decoding_buffer == NULL);
tok->decoding_buffer = utf8; /* CAUTION */