diff Python/symtable.c @ 73366:1e0e821d2626 3.2

Issue #13343: Fix a SystemError when a lambda expression uses a global variable in the default value of a keyword-only argument: (lambda *, arg=GLOBAL_NAME: None)
author Amaury Forgeot d'Arc <amauryfa@gmail.com>
date Fri, 04 Nov 2011 22:17:45 +0100
parents 275862274567
children ad3824a90261 bddb455439d0
line wrap: on
line diff
--- a/Python/symtable.c	Fri Nov 04 21:35:07 2011 +0200
+++ b/Python/symtable.c	Fri Nov 04 22:17:45 2011 +0100
@@ -1334,6 +1334,9 @@
             return 0;
         if (e->v.Lambda.args->defaults)
             VISIT_SEQ(st, expr, e->v.Lambda.args->defaults);
+        if (e->v.Lambda.args->kw_defaults)
+            VISIT_KWONLYDEFAULTS(st,
+                                 e->v.Lambda.args->kw_defaults);
         if (!symtable_enter_block(st, lambda,
                                   FunctionBlock, (void *)e, e->lineno,
                                   e->col_offset))