]> granicus.if.org Git - python/commitdiff
bpo-37947: Adjust correctly the recursion level in symtable for named expressions...
authorPablo Galindo <Pablogsal@gmail.com>
Mon, 26 Aug 2019 14:52:25 +0000 (15:52 +0100)
committerGitHub <noreply@github.com>
Mon, 26 Aug 2019 14:52:25 +0000 (15:52 +0100)
Misc/NEWS.d/next/Core and Builtins/2019-08-26-04-09-57.bpo-37947.mzAQtB.rst [new file with mode: 0644]
Python/symtable.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-08-26-04-09-57.bpo-37947.mzAQtB.rst b/Misc/NEWS.d/next/Core and Builtins/2019-08-26-04-09-57.bpo-37947.mzAQtB.rst
new file mode 100644 (file)
index 0000000..2b3b723
--- /dev/null
@@ -0,0 +1,2 @@
+Adjust correctly the recursion level in the symtable generation for named
+expressions. Patch by Pablo Galindo.
index e48baa808d41a60be09f1dd03c3bee063457377b..18ea57690b5dea7d62482dc59de29fa095fd53ae 100644 (file)
@@ -1508,6 +1508,7 @@ symtable_handle_namedexpr(struct symtable *st, expr_ty e)
     }
     VISIT(st, expr, e->v.NamedExpr.value);
     VISIT(st, expr, e->v.NamedExpr.target);
+    VISIT_QUIT(st, 1);
 }
 
 static int
@@ -1520,7 +1521,8 @@ symtable_visit_expr(struct symtable *st, expr_ty e)
     }
     switch (e->kind) {
     case NamedExpr_kind:
-        symtable_handle_namedexpr(st, e);
+        if(!symtable_handle_namedexpr(st, e))
+            VISIT_QUIT(st, 0);
         break;
     case BoolOp_kind:
         VISIT_SEQ(st, expr, e->v.BoolOp.values);