Commit f7f28fc4 authored by Neal Norwitz's avatar Neal Norwitz

Fix problem when exec'ing a string with a coding

parent 7ac97124
...@@ -21,6 +21,11 @@ class CodingTest(unittest.TestCase): ...@@ -21,6 +21,11 @@ class CodingTest(unittest.TestCase):
fp.close() fp.close()
self.assertRaises(SyntaxError, compile, text, filename, 'exec') 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(): def test_main():
test.test_support.run_unittest(CodingTest) test.test_support.run_unittest(CodingTest)
......
...@@ -632,7 +632,7 @@ decode_str(const char *str, struct tok_state *tok) ...@@ -632,7 +632,7 @@ decode_str(const char *str, struct tok_state *tok)
"unknown encoding: %s", tok->enc); "unknown encoding: %s", tok->enc);
return error_ret(tok); return error_ret(tok);
} }
str = PyString_AsString(utf8); str = PyBytes_AsString(utf8);
} }
assert(tok->decoding_buffer == NULL); assert(tok->decoding_buffer == NULL);
tok->decoding_buffer = utf8; /* CAUTION */ tok->decoding_buffer = utf8; /* CAUTION */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment