This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

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 <>
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

    "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:03Joshua.Landausetrecipients: + 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:03Joshua.Landausetmessageid: <>
2015-01-20 16:28:03Joshua.Landaulinkissue2292 messages
2015-01-20 16:28:03Joshua.Landaucreate