Message234377
The problem seems to be that with the removal of
- else if (TYPE(ch) == STAR) {
- vararg = ast_for_expr(c, CHILD(n, i+1));
- if (!vararg)
- return NULL;
- i++;
- }
- else if (TYPE(ch) == DOUBLESTAR) {
- kwarg = ast_for_expr(c, CHILD(n, i+1));
- if (!kwarg)
- return NULL;
- i++;
- }
the code will ignore any subnodes that aren't of type "argument". However, the grammar still says
arglist: (argument ',')* (argument [','] | '*' test [',' '**' test] | '**' test)
so this is incorrect.
Here's an example of what you might get
inner(
"a", argument comma
*"bcd", star test comma
"e", argument comma
f=6, argument comma
**{"g": 7}, doublestar test comma
h=8, argument comma
**{"i":9} doublestar test
) |
|
Date |
User |
Action |
Args |
2015-01-20 16:28:03 | Joshua.Landau | set | recipients:
+ Joshua.Landau, gvanrossum, twouters, georg.brandl, terry.reedy, paul.moore, ncoghlan, belopolsky, giampaolo.rodola, ezio.melotti, eric.araujo, andybuckley, r.david.murray, zbysz, eric.snow, Rosuav, berker.peksag, pconnell, NeilGirdhar, Jeff.Kaufman, SpaghettiToastBook, fhahn |
2015-01-20 16:28:03 | Joshua.Landau | set | messageid: <1421771283.12.0.454502382309.issue2292@psf.upfronthosting.co.za> |
2015-01-20 16:28:03 | Joshua.Landau | link | issue2292 messages |
2015-01-20 16:28:03 | Joshua.Landau | create | |
|