Nuke all remaining occurrences of Py_PROTO and Py_FPROTO.
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 595d930..0498732 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -31,8 +31,8 @@
 struct arraydescr {
 	int typecode;
 	int itemsize;
-	PyObject * (*getitem) Py_FPROTO((struct arrayobject *, int));
-	int (*setitem) Py_FPROTO((struct arrayobject *, int, PyObject *));
+	PyObject * (*getitem)(struct arrayobject *, int);
+	int (*setitem)(struct arrayobject *, int, PyObject *);
 };
 
 typedef struct arrayobject {
@@ -46,15 +46,15 @@
 #define is_arrayobject(op) ((op)->ob_type == &Arraytype)
 
 /* Forward */
-static PyObject *newarrayobject Py_PROTO((int, struct arraydescr *));
+static PyObject *newarrayobject(int, struct arraydescr *);
 #if 0
-static int getarraysize Py_PROTO((PyObject *));
+static int getarraysize(PyObject *);
 #endif
-static PyObject *getarrayitem Py_PROTO((PyObject *, int));
-static int setarrayitem Py_PROTO((PyObject *, int, PyObject *));
+static PyObject *getarrayitem(PyObject *, int);
+static int setarrayitem(PyObject *, int, PyObject *);
 #if 0
-static int insarrayitem Py_PROTO((PyObject *, int, PyObject *));
-static int addarrayitem Py_PROTO((PyObject *, PyObject *));
+static int insarrayitem(PyObject *, int, PyObject *);
+static int addarrayitem(PyObject *, PyObject *);
 #endif
 
 static PyObject *
diff --git a/Modules/cgensupport.h b/Modules/cgensupport.h
index e70720b..2277a47 100644
--- a/Modules/cgensupport.h
+++ b/Modules/cgensupport.h
@@ -38,34 +38,34 @@
 #define getishortarraysize PyArg_GetShortArraySize
 #define getistringarg PyArg_GetString
 
-extern int PyArg_GetObject Py_PROTO((PyObject *args, int nargs,
-				     int i, PyObject **p_a));
-extern int PyArg_GetLong Py_PROTO((PyObject *args, int nargs,
-				   int i, long *p_a));
-extern int PyArg_GetShort Py_PROTO((PyObject *args, int nargs,
-				    int i, short *p_a));
-extern int PyArg_GetFloat Py_PROTO((PyObject *args, int nargs,
-				    int i, float *p_a));
-extern int PyArg_GetString Py_PROTO((PyObject *args, int nargs,
-				     int i, string *p_a));
-extern int PyArg_GetChar Py_PROTO((PyObject *args, int nargs,
-				   int i, char *p_a));
-extern int PyArg_GetLongArray Py_PROTO((PyObject *args, int nargs,
-					int i, int n, long *p_a));
-extern int PyArg_GetShortArray Py_PROTO((PyObject *args, int nargs,
-					 int i, int n, short *p_a));
-extern int PyArg_GetDoubleArray Py_PROTO((PyObject *args, int nargs,
-					  int i, int n, double *p_a));
-extern int PyArg_GetFloatArray Py_PROTO((PyObject *args, int nargs,
-					 int i, int n, float *p_a));
-extern int PyArg_GetLongArraySize Py_PROTO((PyObject *args, int nargs,
-					    int i, long *p_a));
-extern int PyArg_GetShortArraySize Py_PROTO((PyObject *args, int nargs,
-					     int i, short *p_a));
-extern int PyArg_GetDoubleArraySize Py_PROTO((PyObject *args, int nargs,
-					      int i, double *p_a));
-extern int PyArg_GetFloatArraySize Py_PROTO((PyObject *args, int nargs,
-					 int i, float *p_a));
+extern int PyArg_GetObject(PyObject *args, int nargs,
+			   int i, PyObject **p_a);
+extern int PyArg_GetLong(PyObject *args, int nargs,
+			 int i, long *p_a);
+extern int PyArg_GetShort(PyObject *args, int nargs,
+			  int i, short *p_a);
+extern int PyArg_GetFloat(PyObject *args, int nargs,
+			  int i, float *p_a);
+extern int PyArg_GetString(PyObject *args, int nargs,
+			   int i, string *p_a);
+extern int PyArg_GetChar(PyObject *args, int nargs,
+			 int i, char *p_a);
+extern int PyArg_GetLongArray(PyObject *args, int nargs,
+			    int i, int n, long *p_a);
+extern int PyArg_GetShortArray(PyObject *args, int nargs,
+			    int i, int n, short *p_a);
+extern int PyArg_GetDoubleArray(PyObject *args, int nargs,
+				int i, int n, double *p_a);
+extern int PyArg_GetFloatArray(PyObject *args, int nargs,
+			       int i, int n, float *p_a);
+extern int PyArg_GetLongArraySize(PyObject *args, int nargs,
+				  int i, long *p_a);
+extern int PyArg_GetShortArraySize(PyObject *args, int nargs,
+				int i, short *p_a);
+extern int PyArg_GetDoubleArraySize(PyObject *args, int nargs,
+				    int i, double *p_a);
+extern int PyArg_GetFloatArraySize(PyObject *args, int nargs,
+				   int i, float *p_a);
 
 #ifdef __cplusplus
 }
diff --git a/Modules/cmathmodule.c b/Modules/cmathmodule.c
index 313827b..aa21bc0 100644
--- a/Modules/cmathmodule.c
+++ b/Modules/cmathmodule.c
@@ -347,7 +347,7 @@
 static PyObject *
 math_1(args, func)
 	PyObject *args;
-	Py_complex (*func) Py_FPROTO((Py_complex));
+	Py_complex (*func)(Py_complex);
 {
 	Py_complex x;
 	if (!PyArg_ParseTuple(args, "D", &x))
diff --git a/Modules/glmodule.c b/Modules/glmodule.c
index bb14c65..bed80dc 100644
--- a/Modules/glmodule.c
+++ b/Modules/glmodule.c
@@ -107,7 +107,7 @@
 	PyObject *v, *w=NULL;
 	int i, n, width;
 	double vec[3];
-	PyObject * (*getitem) Py_FPROTO((PyObject *, int));
+	PyObject * (*getitem)(PyObject *, int);
 	
 	if (!PyArg_GetObject(args, 1, 0, &v))
 		return NULL;
@@ -208,7 +208,7 @@
 	PyObject *v, *w, *wnorm, *wvec;
 	int i, n;
 	float norm[3], vec[3];
-	PyObject * (*getitem) Py_FPROTO((PyObject *, int));
+	PyObject * (*getitem)(PyObject *, int);
 	
 	if (!PyArg_GetObject(args, 1, 0, &v))
 		return NULL;
diff --git a/Modules/mpzmodule.c b/Modules/mpzmodule.c
index 62478b8..2d10df5 100644
--- a/Modules/mpzmodule.c
+++ b/Modules/mpzmodule.c
@@ -1012,8 +1012,8 @@
 } /* mpz_mpzcoerce() */
 	
 /* Forward */
-static void mpz_divm Py_PROTO((MP_INT *res, const MP_INT *num,
-			       const MP_INT *den, const MP_INT *mod));
+static void mpz_divm(MP_INT *res, const MP_INT *num,
+	             const MP_INT *den, const MP_INT *mod);
 
 static PyObject *
 MPZ_powm(self, args)
diff --git a/Modules/nismodule.c b/Modules/nismodule.c
index 8943729..877b3a2 100644
--- a/Modules/nismodule.c
+++ b/Modules/nismodule.c
@@ -71,7 +71,7 @@
 	return map;
 }
 
-typedef int (*foreachfunc) Py_PROTO((int, char *, int, char *, int, char *));
+typedef int (*foreachfunc)(int, char *, int, char *, int, char *);
 
 struct ypcallback_data {
 	PyObject	*dict;
diff --git a/Modules/readline.c b/Modules/readline.c
index 9b7bcaf..8215321 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -39,7 +39,7 @@
 
 /* Pointers needed from outside (but not declared in a header file). */
 extern int (*PyOS_InputHook)();
-extern char *(*PyOS_ReadlineFunctionPointer) Py_PROTO((char *));
+extern char *(*PyOS_ReadlineFunctionPointer)(char *);
 
 
 /* Exported function to send one line to readline's init file parser */
diff --git a/Modules/rgbimgmodule.c b/Modules/rgbimgmodule.c
index cc5c6d5..d0956cb 100644
--- a/Modules/rgbimgmodule.c
+++ b/Modules/rgbimgmodule.c
@@ -95,12 +95,12 @@
 
 #define CHANOFFSET(z)	(3-(z))	/* this is byte order dependent */
 
-static void expandrow Py_PROTO((unsigned char *, unsigned char *, int));
-static void setalpha Py_PROTO((unsigned char *, int));
-static void copybw Py_PROTO((Py_Int32 *, int));
-static void interleaverow Py_PROTO((unsigned char*, unsigned char*, int, int));
-static int compressrow Py_PROTO((unsigned char *, unsigned char *, int, int));
-static void lumrow Py_PROTO((unsigned char *, unsigned char *, int));
+static void expandrow(unsigned char *, unsigned char *, int);
+static void setalpha(unsigned char *, int);
+static void copybw(Py_Int32 *, int);
+static void interleaverow(unsigned char*, unsigned char*, int, int);
+static int compressrow(unsigned char *, unsigned char *, int, int);
+static void lumrow(unsigned char *, unsigned char *, int);
 
 #ifdef ADD_TAGS
 #define TAGLEN	(5)
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 1c11fdd..cfbfe20 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -123,7 +123,7 @@
 		is_tripped++;
 		Handlers[sig_num].tripped = 1;
 		Py_AddPendingCall(
-			(int (*) Py_PROTO((ANY *)))PyErr_CheckSignals, NULL);
+			(int (*)(ANY *))PyErr_CheckSignals, NULL);
 #ifdef WITH_THREAD
 	}
 #endif
@@ -638,7 +638,7 @@
 {
 	is_tripped++;
 	Handlers[SIGINT].tripped = 1;
-	Py_AddPendingCall((int (*) Py_PROTO((ANY *)))PyErr_CheckSignals, NULL);
+	Py_AddPendingCall((int (*)(ANY *))PyErr_CheckSignals, NULL);
 }
 
 void
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index f88f6ba..b8fbead 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1112,7 +1112,7 @@
 static PyObject *
 BUILD_FUNC_DEF_2(PySocketSock_makefile,PySocketSockObject *,s, PyObject *,args)
 {
-	extern int fclose Py_PROTO((FILE *));
+	extern int fclose(FILE *);
 	char *mode = "r";
 	int bufsize = -1;
 #ifdef MS_WIN32
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index 2950b15..f37f000 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -878,7 +878,7 @@
 	PyObject *self; /* Not used */
 	PyObject *args;
 {
-	extern double strtod Py_PROTO((const char *, char **));
+	extern double strtod(const char *, char **);
 	char *s, *end;
 	double x;
 	char buffer[256]; /* For errors */
diff --git a/Modules/structmodule.c b/Modules/structmodule.c
index 5b52a39..fac442f 100644
--- a/Modules/structmodule.c
+++ b/Modules/structmodule.c
@@ -406,11 +406,10 @@
 	char format;
 	int size;
 	int alignment;
-	PyObject* (*unpack) Py_PROTO((const char *,
-				      const struct _formatdef *));
-	int (*pack) Py_PROTO((char *,
-			      PyObject *,
-			      const struct _formatdef *));
+	PyObject* (*unpack)(const char *,
+			    const struct _formatdef *);
+	int (*pack)(char *, PyObject *,
+		    const struct _formatdef *);
 } formatdef;
 
 static PyObject *
diff --git a/Modules/svmodule.c b/Modules/svmodule.c
index 9e311b5..4133ae3 100644
--- a/Modules/svmodule.c
+++ b/Modules/svmodule.c
@@ -37,7 +37,7 @@
 
 static PyObject *SvError;		/* exception sv.error */
 
-static PyObject *newcaptureobject Py_PROTO((svobject *, void *, int));
+static PyObject *newcaptureobject(svobject *, void *, int);
 
 /* Set a SV-specific error from svideo_errno and return NULL */
 static PyObject *
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 984980c..855863b 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -90,8 +90,8 @@
 #endif
 
 /* Forward declarations */
-static int floatsleep Py_PROTO((double));
-static double floattime Py_PROTO(());
+static int floatsleep(double);
+static double floattime();
 
 /* For Y2K check */
 static PyObject *moddict;
@@ -255,7 +255,7 @@
 static PyObject *
 time_convert(when, function)
 	time_t when;
-	struct tm * (*function) Py_PROTO((const time_t *));
+	struct tm * (*function)(const time_t *);
 {
 	struct tm *p;
 	errno = 0;
@@ -786,8 +786,8 @@
 #ifdef MSDOS
 	struct timeb t1, t2;
 	double frac;
-	extern double fmod Py_PROTO((double, double));
-	extern double floor Py_PROTO((double));
+	extern double fmod(double, double);
+	extern double floor(double);
 	if (secs <= 0.0)
 		return;
 	frac = fmod(secs, 1.0);