Massive patch by Skip Montanaro to add ":name" to as many
PyArg_ParseTuple() format string arguments as possible.
diff --git a/Modules/puremodule.c b/Modules/puremodule.c
index ee80a2f..a8ada75 100644
--- a/Modules/puremodule.c
+++ b/Modules/puremodule.c
@@ -321,7 +321,7 @@
 	long memrep;
 	int id;
 
-	if (!PyArg_ParseTuple(args, "li", &memrep, &id))
+	if (!PyArg_ParseTuple(args, "li:purify_set_pool_id", &memrep, &id))
 		return NULL;
 
 	purify_set_pool_id((char*)memrep, id);
@@ -343,7 +343,7 @@
 	long memrep;
 	long datarep;
 
-	if (!PyArg_ParseTuple(args, "ll", &memrep, &datarep))
+	if (!PyArg_ParseTuple(args, "ll:purify_set_user_data", &memrep, &datarep))
 		return NULL;
 
 	purify_set_user_data((char*)memrep, (void*)datarep);
@@ -361,7 +361,7 @@
 	long memrep;
 	void* data;
 
-	if (!PyArg_ParseTuple(args, "l", &memrep))
+	if (!PyArg_ParseTuple(args, "l:purify_get_user_data", &memrep))
 		return NULL;
 
 	data = purify_get_user_data((char*)memrep);
@@ -411,7 +411,7 @@
 	PyObject* arg_callable;
 	int id;
 
-	if (!PyArg_ParseTuple(args, "iO", &id, &arg_callable))
+	if (!PyArg_ParseTuple(args, "iO:purify_map_pool", &id, &arg_callable))
 		return NULL;
 
 	if (!PyCallable_Check(arg_callable)) {
@@ -451,7 +451,7 @@
 	PyObject* saved_callable = MapCallable;
 	PyObject* arg_callable;
 
-	if (!PyArg_ParseTuple(args, "O", &arg_callable))
+	if (!PyArg_ParseTuple(args, "O:purify_map_pool_id", &arg_callable))
 		return NULL;
 
 	if (!PyCallable_Check(arg_callable)) {
@@ -530,7 +530,7 @@
 	int status;
 	char* stringarg;
 
-	if (!PyArg_ParseTuple(args, "s", &stringarg))
+	if (!PyArg_ParseTuple(args, "s:purify_name_thread", &stringarg))
 		return NULL;
 
 	status = purify_name_thread(stringarg);
@@ -666,7 +666,7 @@
 	char* type;
 	int status;
 
-	if (!PyArg_ParseTuple(args, "lis", &addrrep, &size, &type))
+	if (!PyArg_ParseTuple(args, "lis:purify_watch_n", &addrrep, &size, &type))
 		return NULL;
 
 	status = purify_watch_n((char*)addrrep, size, type);
@@ -689,7 +689,7 @@
 	int watchno;
 	int status;
 
-	if (!PyArg_ParseTuple(args, "i", &watchno))
+	if (!PyArg_ParseTuple(args, "i:purify_watch_remove", &watchno))
 		return NULL;
 
 	status = purify_watch_remove(watchno);
@@ -711,7 +711,7 @@
 	long addrrep;
 	char* rtn;
 
-	if (!PyArg_ParseTuple(args, "l", &addrrep))
+	if (!PyArg_ParseTuple(args, "l:purify_describe", &addrrep))
 		return NULL;
 
 	rtn = purify_describe((char*)addrrep);
@@ -727,7 +727,7 @@
 	unsigned int size;
 	int status;
     
-	if (!PyArg_ParseTuple(args, "li", &addrrep, &size))
+	if (!PyArg_ParseTuple(args, "li:purify_what_colors", &addrrep, &size))
 		return NULL;
 
 	status = purify_what_colors((char*)addrrep, size);
@@ -772,7 +772,7 @@
 {
 	int status;
 
-	if (!PyArg_ParseTuple(args, "i", &status))
+	if (!PyArg_ParseTuple(args, "i:purify_exit", &status))
 		return NULL;
 
         /* purify_exit doesn't always act like exit(). See the manual */