summaryrefslogtreecommitdiff
path: root/Modules/parsermodule.c
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2010-06-30 16:27:57 +0000
committerMark Dickinson <dickinsm@gmail.com>2010-06-30 16:27:57 +0000
commita0a4b382914069e809ddd25d4ff82199557a064a (patch)
tree4e26785fa59c02b8bc67114a2bf53c2276b432c6 /Modules/parsermodule.c
parent4c702a31cda9f80719b4ef97effe367c5bd9a5dd (diff)
downloadcpython-a0a4b382914069e809ddd25d4ff82199557a064a.tar.gz
Issue #9125: Update parser module for "except ... as ..." syntax.
Diffstat (limited to 'Modules/parsermodule.c')
-rw-r--r--Modules/parsermodule.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index c36fcb0719..5d1bfb6674 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -2126,10 +2126,13 @@ validate_except_clause(node *tree)
if (res && (nch > 1))
res = validate_test(CHILD(tree, 1));
- if (res && (nch == 4))
- res = (validate_comma(CHILD(tree, 2))
- && validate_test(CHILD(tree, 3)));
-
+ if (res && (nch == 4)) {
+ if (TYPE(CHILD(tree, 2)) == NAME)
+ res = validate_name(CHILD(tree, 2), "as");
+ else
+ res = validate_comma(CHILD(tree, 2));
+ res = res && validate_test(CHILD(tree, 3));
+ }
return (res);
}