Comment out the print statement about underflow.  (This only seems to
happen when you use a non-keyword argument after a keyword argument,
and in this case you also get a syntax error.  I fully suspect that
the underflow is caused by the code that stops generating code when it
detects the syntax error, but I can't find the culprit right now.  I
know, I know.)
diff --git a/Python/compile.c b/Python/compile.c
index 422a2af..afe330b 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -490,10 +490,10 @@
 	int n;
 {
 	if (c->c_stacklevel < n) {
-		fprintf(stderr,
+		/* fprintf(stderr,
 			"%s:%d: underflow! nexti=%d, level=%d, n=%d\n",
 			c->c_filename, c->c_lineno,
-			c->c_nexti, c->c_stacklevel, n);
+			c->c_nexti, c->c_stacklevel, n); */
 		c->c_stacklevel = 0;
 	}
 	else