Message234377
| Author | Joshua.Landau |
|---|---|
| Recipients | Jeff.Kaufman, Joshua.Landau, NeilGirdhar, Rosuav, SpaghettiToastBook, andybuckley, belopolsky, berker.peksag, eric.araujo, eric.snow, ezio.melotti, fhahn, georg.brandl, giampaolo.rodola, gvanrossum, ncoghlan, paul.moore, pconnell, r.david.murray, terry.reedy, twouters, zbysz |
| Date | 2015-01-20.16:28:03 |
| SpamBayes Score | -1.0 |
| Marked as misclassified | Yes |
| Message-id | <1421771283.12.0.454502382309.issue2292@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
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
) |
|
| History | |||
|---|---|---|---|
| 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 | |