From: Thomas Wouters Date: Wed, 12 Apr 2006 00:07:59 +0000 (+0000) Subject: Part two of the fix for SF bug #1466641: Regenerate graminit.c and add test X-Git-Tag: v2.5a2~323 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ced6cddc031b099e995f4cbf8e9162f3951be826;p=python Part two of the fix for SF bug #1466641: Regenerate graminit.c and add test for the bogus failure. --- diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py index 45e3c49cf9..4bb4e45aaf 100644 --- a/Lib/test/test_grammar.py +++ b/Lib/test/test_grammar.py @@ -815,6 +815,11 @@ x = 10; t = False; g = ((i,j) for i in range(x) if t for j in range(x)) x = 5; t = True; verify([(i,j) for i in range(10) for j in range(5)] == list(g)) +# Grammar allows multiple adjacent 'if's in listcomps and genexps, +# even though it's silly. Make sure it works (ifelse broke this.) +verify([ x for x in range(10) if x % 2 if x % 3 ], [1, 5, 7]) +verify((x for x in range(10) if x % 2 if x % 3), [1, 5, 7]) + # Test ifelse expressions in various cases def _checkeval(msg, ret): "helper to check that evaluation of expressions is done correctly" diff --git a/Python/graminit.c b/Python/graminit.c index 1853ca407d..ae367ce063 100644 --- a/Python/graminit.c +++ b/Python/graminit.c @@ -1678,7 +1678,7 @@ static arc arcs_77_0[1] = { {91, 1}, }; static arc arcs_77_1[1] = { - {26, 2}, + {105, 2}, }; static arc arcs_77_2[2] = { {162, 3}, @@ -1735,7 +1735,7 @@ static arc arcs_80_0[1] = { {91, 1}, }; static arc arcs_80_1[1] = { - {26, 2}, + {105, 2}, }; static arc arcs_80_2[2] = { {164, 3},