Nuke all remaining occurrences of Py_PROTO and Py_FPROTO.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 1800912..6350794 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -310,7 +310,7 @@
 	BINOP(v, w, "__or__", "__ror__", PyNumber_Or);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_or) != NULL)
@@ -332,7 +332,7 @@
 	BINOP(v, w, "__xor__", "__rxor__", PyNumber_Xor);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_xor) != NULL)
@@ -352,7 +352,7 @@
 	BINOP(v, w, "__and__", "__rand__", PyNumber_And);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_and) != NULL)
@@ -372,7 +372,7 @@
 	BINOP(v, w, "__lshift__", "__rlshift__", PyNumber_Lshift);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_lshift) != NULL)
@@ -392,7 +392,7 @@
 	BINOP(v, w, "__rshift__", "__rrshift__", PyNumber_Rshift);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_rshift) != NULL)
@@ -417,7 +417,7 @@
 		return (*m->sq_concat)(v, w);
 	else if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_add) != NULL)
@@ -437,7 +437,7 @@
 	BINOP(v, w, "__sub__", "__rsub__", PyNumber_Subtract);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_subtract) != NULL)
@@ -469,7 +469,7 @@
 	}
 	if (tp->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyInstance_Check(v)) {
 			/* Instances of user-defined classes get their
 			   other argument uncoerced, so they may
@@ -515,7 +515,7 @@
 	BINOP(v, w, "__div__", "__rdiv__", PyNumber_Divide);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_divide) != NULL)
@@ -539,7 +539,7 @@
 	BINOP(v, w, "__mod__", "__rmod__", PyNumber_Remainder);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_remainder) != NULL)
@@ -559,7 +559,7 @@
 	BINOP(v, w, "__divmod__", "__rdivmod__", PyNumber_Divmod);
 	if (v->ob_type->tp_as_number != NULL) {
 		PyObject *x = NULL;
-		PyObject * (*f) Py_FPROTO((PyObject *, PyObject *));
+		PyObject * (*f)(PyObject *, PyObject *);
 		if (PyNumber_Coerce(&v, &w) != 0)
 			return NULL;
 		if ((f = v->ob_type->tp_as_number->nb_divmod) != NULL)
@@ -579,7 +579,7 @@
 	PyObject *v, *w;
 {
 	PyObject *res;
-	PyObject * (*f) Py_FPROTO((PyObject *, PyObject *, PyObject *));
+	PyObject * (*f)(PyObject *, PyObject *, PyObject *);
 	BINOP(v, w, "__pow__", "__rpow__", do_pow);
 	if (v->ob_type->tp_as_number == NULL ||
 	    w->ob_type->tp_as_number == NULL) {
@@ -604,7 +604,7 @@
 {
 	PyObject *res;
 	PyObject *v1, *z1, *w2, *z2;
-	PyObject * (*f) Py_FPROTO((PyObject *, PyObject *, PyObject *));
+	PyObject * (*f)(PyObject *, PyObject *, PyObject *);
 
 	if (z == Py_None)
 		return do_pow(v, w);
diff --git a/Objects/classobject.c b/Objects/classobject.c
index 0e1308b..3192ddd 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -14,10 +14,10 @@
 #include "structmember.h"
 
 /* Forward */
-static PyObject *class_lookup
-	Py_PROTO((PyClassObject *, PyObject *, PyClassObject **));
-static PyObject *instance_getattr1 Py_PROTO((PyInstanceObject *, PyObject *));
-static PyObject *instance_getattr2 Py_PROTO((PyInstanceObject *, PyObject *));
+static PyObject *class_lookup(PyClassObject *, PyObject *,
+			      PyClassObject **);
+static PyObject *instance_getattr1(PyInstanceObject *, PyObject *);
+static PyObject *instance_getattr2(PyInstanceObject *, PyObject *);
 
 static PyObject *getattrstr, *setattrstr, *delattrstr;
 
@@ -1203,8 +1203,8 @@
 
 
 /* Forward */
-static int halfbinop Py_PROTO((PyObject *, PyObject *, char *, PyObject **,
-		PyObject * (*) Py_PROTO((PyObject *, PyObject *)), int ));
+static int halfbinop(PyObject *, PyObject *, char *, PyObject **,
+		     PyObject * (*)(PyObject *, PyObject *), int);
 
 
 /* Implement a binary operator involving at least one class instance. */
@@ -1215,7 +1215,7 @@
 	PyObject *w;
 	char *opname;
 	char *ropname;
-	PyObject * (*thisfunc) Py_PROTO((PyObject *, PyObject *));
+	PyObject * (*thisfunc)(PyObject *, PyObject *);
 {
 	char buf[256];
 	PyObject *result = NULL;
@@ -1249,7 +1249,7 @@
 	PyObject *w;
 	char *opname;
 	PyObject **r_result;
-	PyObject * (*thisfunc) Py_PROTO((PyObject *, PyObject *));
+	PyObject * (*thisfunc)(PyObject *, PyObject *);
 	int swapped;
 {
 	PyObject *func;
diff --git a/Objects/cobject.c b/Objects/cobject.c
index b184acb..06c29f0 100644
--- a/Objects/cobject.c
+++ b/Objects/cobject.c
@@ -15,20 +15,20 @@
 
 /* Declarations for objects of type PyCObject */
 
-typedef void (*destructor1) Py_PROTO((void *));
-typedef void (*destructor2) Py_PROTO((void *, void*));
+typedef void (*destructor1)(void *);
+typedef void (*destructor2)(void *, void*);
 
 typedef struct {
 	PyObject_HEAD
 	void *cobject;
         void *desc;
-	void (*destructor) Py_PROTO((void *));
+	void (*destructor)(void *);
 } PyCObject;
 
 PyObject *
 PyCObject_FromVoidPtr(cobj, destr)
 	void *cobj;
-	void (*destr) Py_PROTO((void *));
+	void (*destr)(void *);
 {
 	PyCObject *self;
 	
@@ -45,7 +45,7 @@
 PyCObject_FromVoidPtrAndDesc(cobj, desc, destr)
 	void *cobj;
 	void *desc;
-	void (*destr) Py_PROTO((void *, void *));
+	void (*destr)(void *, void *);
 {
 	PyCObject *self;
 
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 7247ff8..bf4aed4 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -69,7 +69,7 @@
 	FILE *f_fp;
 	PyObject *f_name;
 	PyObject *f_mode;
-	int (*f_close) Py_PROTO((FILE *));
+	int (*f_close)(FILE *);
 	int f_softspace; /* Flag used by 'print' command */
 	int f_binary; /* Flag which indicates whether the file is open
 			 open in binary (1) or test (0) mode */
@@ -100,7 +100,7 @@
 	FILE *fp;
 	char *name;
 	char *mode;
-	int (*close) Py_FPROTO((FILE *));
+	int (*close)(FILE *);
 {
 	PyFileObject *f = PyObject_NEW(PyFileObject, &PyFile_Type);
 	if (f == NULL)
@@ -126,7 +126,7 @@
 PyFile_FromString(name, mode)
 	char *name, *mode;
 {
-	extern int fclose Py_PROTO((FILE *));
+	extern int fclose(FILE *);
 	PyFileObject *f;
 	f = (PyFileObject *) PyFile_FromFile((FILE *)NULL, name, mode, fclose);
 	if (f == NULL)
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 55fcd06..8b4f2d9 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -64,8 +64,8 @@
 #endif
 
 #if !defined(__STDC__) && !defined(macintosh)
-extern double fmod Py_PROTO((double, double));
-extern double pow Py_PROTO((double, double));
+extern double fmod(double, double);
+extern double pow(double, double);
 #endif
 
 #ifdef sun
@@ -137,7 +137,7 @@
 	PyObject *v;
 	char **pend;
 {
-	extern double strtod Py_PROTO((const char *, char **));
+	extern double strtod(const char *, char **);
 	const char *s, *last, *end;
 	double x;
 	char buffer[256]; /* For errors */
diff --git a/Objects/object.c b/Objects/object.c
index 9c4cd6a..c1bdc71 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1001,7 +1001,7 @@
 
 
 /* Hack to force loading of abstract.o */
-int (*_Py_abstract_hack) Py_FPROTO((PyObject *)) = &PyObject_Length;
+int (*_Py_abstract_hack)(PyObject *) = &PyObject_Length;
 
 
 /* Python's malloc wrappers (see mymalloc.h) */