The second argument to start_new_thread() is not a tuple, as pointed
out by Curtis Jensen on c.l.py and forwarded by Fredrik Lundh.
diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c
index a625146..46dd35a 100644
--- a/Modules/threadmodule.c
+++ b/Modules/threadmodule.c
@@ -221,7 +221,7 @@
 static PyObject *
 thread_PyThread_start_new_thread(PyObject *self, PyObject *fargs)
 {
-	PyObject *func, *args = NULL, *keyw = NULL;
+	PyObject *func, *args, *keyw = NULL;
 	struct bootstate *boot;
 
 	if (!PyArg_ParseTuple(fargs, "OO|O:start_new_thread", &func, &args, &keyw))
@@ -233,7 +233,7 @@
 	}
 	if (!PyTuple_Check(args)) {
 		PyErr_SetString(PyExc_TypeError,
-				"optional 2nd arg must be a tuple");
+				"2nd arg must be a tuple");
 		return NULL;
 	}
 	if (keyw != NULL && !PyDict_Check(keyw)) {