When returning an error from jcompile() (which is passed through by
PyNode_Compile()), make sure that an exception is actually set --
otherwise someone stomped on our error.  [2.0 checkin of this fix.]
diff --git a/Python/compile.c b/Python/compile.c
index 72f3be4..49e5863 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -3293,6 +3293,14 @@
 		Py_XDECREF(filename);
 		Py_XDECREF(name);
 	}
+	else if (!PyErr_Occurred()) {
+		/* This could happen if someone called PyErr_Clear() after an
+		   error was reported above.  That's not supposed to happen,
+		   but I just plugged one case and I'm not sure there can't be
+		   others.  In that case, raise SystemError so that at least
+		   it gets reported instead dumping core. */
+		PyErr_SetString(PyExc_SystemError, "lost syntax error");
+	}
 	com_free(&sc);
 	return co;
 }