diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2007-08-11 21:31:25 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2007-08-11 21:31:25 (GMT) |
commit | f7f28fc46bc47465e3d36610940241a5ebadef02 (patch) | |
tree | 97e348b350193dec72cc3bedc5ceed2342e5b6d1 | |
parent | 7ac971243b2e3810f3e94609d3121beac9512bff (diff) | |
download | cpython-f7f28fc46bc47465e3d36610940241a5ebadef02.zip cpython-f7f28fc46bc47465e3d36610940241a5ebadef02.tar.gz cpython-f7f28fc46bc47465e3d36610940241a5ebadef02.tar.bz2 |
Fix problem when exec'ing a string with a coding
-rw-r--r-- | Lib/test/test_coding.py | 5 | ||||
-rw-r--r-- | Parser/tokenizer.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/Lib/test/test_coding.py b/Lib/test/test_coding.py index e83015e..62cf555 100644 --- a/Lib/test/test_coding.py +++ b/Lib/test/test_coding.py @@ -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) diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index 00bb38a..284082d 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -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 */ |