From dca3b9c797f6dd4b08d590fa2aa1031e22ab598e Mon Sep 17 00:00:00 2001 From: Thomas Wouters Date: Mon, 27 Feb 2006 00:24:13 +0000 Subject: PEP 308 implementation, including minor refdocs and some testcases. It breaks the parser module, because it adds the if/else construct as well as two new grammar rules for backward compatibility. If no one else fixes parsermodule, I guess I'll go ahead and fix it later this week. The TeX code was checked with texcheck.py, but not rendered. There is actually a slight incompatibility: >>> (x for x in lambda:0) Traceback (most recent call last): File "", line 1, in TypeError: iteration over non-sequence changes into >>> (x for x in lambda: 0) File "", line 1 (x for x in lambda: 0) ^ SyntaxError: invalid syntax Since there's no way the former version can be useful, it's probably a bugfix ;) --- Python/symtable.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Python/symtable.c') diff --git a/Python/symtable.c b/Python/symtable.c index fd95bd56dc..b66abc97df 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -1084,6 +1084,11 @@ symtable_visit_expr(struct symtable *st, expr_ty e) return 0; break; } + case IfExp_kind: + VISIT(st, expr, e->v.IfExp.test); + VISIT(st, expr, e->v.IfExp.body); + VISIT(st, expr, e->v.IfExp.orelse); + break; case Dict_kind: VISIT_SEQ(st, expr, e->v.Dict.keys); VISIT_SEQ(st, expr, e->v.Dict.values); -- cgit v1.2.1