diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-07-17 11:35:35 +0300 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-07-17 11:35:35 +0300 |
commit | 5a515b0afe6a2bc273211ba47fd8fe04c56517c7 (patch) | |
tree | 3ad22d25ea8682901b955112ac4531c88e779c41 /Python/symtable.c | |
parent | ddf00b0a227950067b93a1bc828477b59aa4f78c (diff) | |
parent | 759f8db1106193b1a15bfd442eccde9522301023 (diff) | |
download | cpython-5a515b0afe6a2bc273211ba47fd8fe04c56517c7.tar.gz |
Issue #17711: Fixed unpickling by the persistent ID with protocol 0.
Original patch by Alexandre Vassalotti.
Diffstat (limited to 'Python/symtable.c')
-rw-r--r-- | Python/symtable.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Python/symtable.c b/Python/symtable.c index 1591a20f50..3f03184f08 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -160,7 +160,7 @@ PyTypeObject PySTEntry_Type = { }; static int symtable_analyze(struct symtable *st); -static int symtable_warn(struct symtable *st, char *msg, int lineno); +static int symtable_warn(struct symtable *st, const char *msg, int lineno); static int symtable_enter_block(struct symtable *st, identifier name, _Py_block_ty block, void *ast, int lineno, int col_offset); @@ -908,7 +908,7 @@ symtable_analyze(struct symtable *st) static int -symtable_warn(struct symtable *st, char *msg, int lineno) +symtable_warn(struct symtable *st, const char *msg, int lineno) { PyObject *message = PyUnicode_FromString(msg); if (message == NULL) @@ -1447,6 +1447,15 @@ symtable_visit_expr(struct symtable *st, expr_ty e) VISIT_SEQ(st, expr, e->v.Call.args); VISIT_SEQ_WITH_NULL(st, keyword, e->v.Call.keywords); break; + case FormattedValue_kind: + VISIT(st, expr, e->v.FormattedValue.value); + if (e->v.FormattedValue.format_spec) + VISIT(st, expr, e->v.FormattedValue.format_spec); + break; + case JoinedStr_kind: + VISIT_SEQ(st, expr, e->v.JoinedStr.values); + break; + case Constant_kind: case Num_kind: case Str_kind: case Bytes_kind: |