summaryrefslogtreecommitdiff
path: root/Python/symtable.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-07-17 11:35:35 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2016-07-17 11:35:35 +0300
commit5a515b0afe6a2bc273211ba47fd8fe04c56517c7 (patch)
tree3ad22d25ea8682901b955112ac4531c88e779c41 /Python/symtable.c
parentddf00b0a227950067b93a1bc828477b59aa4f78c (diff)
parent759f8db1106193b1a15bfd442eccde9522301023 (diff)
downloadcpython-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.c13
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: