diff options
author | Benjamin Peterson <benjamin@python.org> | 2008-08-19 20:57:10 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2008-08-19 20:57:10 (GMT) |
commit | 2d735bc09876e8216bf6708bb598923e07a2ac4b (patch) | |
tree | b242296c96c8988ba3c783474c960432d13bef67 /Python | |
parent | de0de885f77d40ddb7e9f2afc8be5a99b9cf01ec (diff) | |
download | cpython-2d735bc09876e8216bf6708bb598923e07a2ac4b.zip cpython-2d735bc09876e8216bf6708bb598923e07a2ac4b.tar.gz cpython-2d735bc09876e8216bf6708bb598923e07a2ac4b.tar.bz2 |
allow keyword args after *args in a function call
Diffstat (limited to 'Python')
-rw-r--r-- | Python/ast.c | 5 | ||||
-rw-r--r-- | Python/graminit.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/Python/ast.c b/Python/ast.c index 46bfd4e..6d2fa09 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -1961,6 +1961,11 @@ ast_for_call(struct compiling *c, const node *n, expr_ty func) "non-keyword arg after keyword arg"); return NULL; } + if (vararg) { + ast_error(CHILD(ch, 0), + "only named arguments may follow *expression"); + return NULL; + } e = ast_for_expr(c, CHILD(ch, 0)); if (!e) return NULL; diff --git a/Python/graminit.c b/Python/graminit.c index e26bcc5..6f3787a 100644 --- a/Python/graminit.c +++ b/Python/graminit.c @@ -1598,7 +1598,8 @@ static arc arcs_73_5[2] = { static arc arcs_73_6[1] = { {0, 6}, }; -static arc arcs_73_7[1] = { +static arc arcs_73_7[2] = { + {161, 5}, {32, 3}, }; static state states_73[8] = { @@ -1609,7 +1610,7 @@ static state states_73[8] = { {4, arcs_73_4}, {2, arcs_73_5}, {1, arcs_73_6}, - {1, arcs_73_7}, + {2, arcs_73_7}, }; static arc arcs_74_0[1] = { {24, 1}, |