Very subtle syntax change: in a list comprehension, the testlist in
"for <var> in <testlist> may no longer be a single test followed by
a comma.  This solves SF bug #431886.  Note that if the testlist
contains more than one test, a trailing comma is still allowed, for
maximum backward compatibility; but this example is not:

    [(x, y) for x in range(10), for y in range(10)]
                              ^

The fix involved creating a new nonterminal 'testlist_safe' whose
definition doesn't allow the trailing comma if there's only one test:

    testlist_safe: test [(',' test)+ [',']]
diff --git a/Include/graminit.h b/Include/graminit.h
index 219be94..e3afb93 100644
--- a/Include/graminit.h
+++ b/Include/graminit.h
@@ -56,10 +56,11 @@
 #define sliceop 311
 #define exprlist 312
 #define testlist 313
-#define dictmaker 314
-#define classdef 315
-#define arglist 316
-#define argument 317
-#define list_iter 318
-#define list_for 319
-#define list_if 320
+#define testlist_safe 314
+#define dictmaker 315
+#define classdef 316
+#define arglist 317
+#define argument 318
+#define list_iter 319
+#define list_for 320
+#define list_if 321