Mass ANSIfication of function definitions. Doesn't cover all 'extern'
declarations yet, those come later.
diff --git a/Python/atof.c b/Python/atof.c
index 34fd951..35d3feb 100644
--- a/Python/atof.c
+++ b/Python/atof.c
@@ -17,8 +17,7 @@
 
 #include <ctype.h>
 
-double atof(s)
-	char *s;
+double atof(char *s)
 {
 	double a = 0.0;
 	int e = 0;
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 0746282..2fabf67 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -32,9 +32,7 @@
 static PyObject *filtertuple (PyObject *, PyObject *);
 
 static PyObject *
-builtin___import__(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin___import__(PyObject *self, PyObject *args)
 {
 	char *name;
 	PyObject *globals = NULL;
@@ -60,9 +58,7 @@
 
 
 static PyObject *
-builtin_abs(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_abs(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -78,9 +74,7 @@
 
 
 static PyObject *
-builtin_apply(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_apply(PyObject *self, PyObject *args)
 {
 	PyObject *func, *alist = NULL, *kwdict = NULL;
 	PyObject *t = NULL, *retval = NULL;
@@ -120,9 +114,7 @@
 
 
 static PyObject *
-builtin_buffer(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_buffer(PyObject *self, PyObject *args)
 {
 	PyObject *ob;
 	int offset = 0;
@@ -143,9 +135,7 @@
 
 
 static PyObject *
-builtin_unicode(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_unicode(PyObject *self, PyObject *args)
 {
         PyObject *v;
 	char *encoding = NULL;
@@ -165,9 +155,7 @@
 
 
 static PyObject *
-builtin_callable(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_callable(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -184,9 +172,7 @@
 
 
 static PyObject *
-builtin_filter(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_filter(PyObject *self, PyObject *args)
 {
 	PyObject *func, *seq, *result;
 	PySequenceMethods *sqf;
@@ -291,9 +277,7 @@
 
 
 static PyObject *
-builtin_chr(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_chr(PyObject *self, PyObject *args)
 {
 	long x;
 	char s[1];
@@ -316,9 +300,7 @@
 
 
 static PyObject *
-builtin_unichr(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_unichr(PyObject *self, PyObject *args)
 {
 	long x;
 	Py_UNICODE s[1];
@@ -341,9 +323,7 @@
 
 
 static PyObject *
-builtin_cmp(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_cmp(PyObject *self, PyObject *args)
 {
 	PyObject *a, *b;
 	int c;
@@ -362,9 +342,7 @@
 
 
 static PyObject *
-builtin_coerce(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_coerce(PyObject *self, PyObject *args)
 {
 	PyObject *v, *w;
 	PyObject *res;
@@ -387,9 +365,7 @@
 
 
 static PyObject *
-builtin_compile(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_compile(PyObject *self, PyObject *args)
 {
 	char *str;
 	char *filename;
@@ -425,8 +401,7 @@
 #ifndef WITHOUT_COMPLEX
 
 static PyObject *
-complex_from_string(v)
-	PyObject *v;
+complex_from_string(PyObject *v)
 {
 	extern double strtod(const char *, char **);
 	const char *s, *start;
@@ -579,9 +554,7 @@
 }
 
 static PyObject *
-builtin_complex(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_complex(PyObject *self, PyObject *args)
 {
 	PyObject *r, *i, *tmp;
 	PyNumberMethods *nbr, *nbi = NULL;
@@ -672,9 +645,7 @@
 #endif
 
 static PyObject *
-builtin_dir(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_dir(PyObject *self, PyObject *args)
 {
 	static char *attrlist[] = {"__members__", "__methods__", NULL};
 	PyObject *v = NULL, *l = NULL, *m = NULL;
@@ -748,9 +719,7 @@
 
 
 static PyObject *
-builtin_divmod(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_divmod(PyObject *self, PyObject *args)
 {
 	PyObject *v, *w;
 
@@ -766,9 +735,7 @@
 
 
 static PyObject *
-builtin_eval(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_eval(PyObject *self, PyObject *args)
 {
 	PyObject *cmd;
 	PyObject *globals = Py_None, *locals = Py_None;
@@ -820,9 +787,7 @@
 
 
 static PyObject *
-builtin_execfile(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_execfile(PyObject *self, PyObject *args)
 {
 	char *filename;
 	PyObject *globals = Py_None, *locals = Py_None;
@@ -869,9 +834,7 @@
 
 
 static PyObject *
-builtin_getattr(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_getattr(PyObject *self, PyObject *args)
 {
 	PyObject *v, *result, *dflt = NULL;
 	PyObject *name;
@@ -896,9 +859,7 @@
 
 
 static PyObject *
-builtin_globals(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_globals(PyObject *self, PyObject *args)
 {
 	PyObject *d;
 
@@ -916,9 +877,7 @@
 
 
 static PyObject *
-builtin_hasattr(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_hasattr(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	PyObject *name;
@@ -944,9 +903,7 @@
 
 
 static PyObject *
-builtin_id(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_id(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -963,9 +920,7 @@
 
 
 static PyObject *
-builtin_map(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_map(PyObject *self, PyObject *args)
 {
 	typedef struct {
 		PyObject *seq;
@@ -1130,9 +1085,7 @@
 
 
 static PyObject *
-builtin_setattr(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_setattr(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	PyObject *name;
@@ -1154,9 +1107,7 @@
 
 
 static PyObject *
-builtin_delattr(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_delattr(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	PyObject *name;
@@ -1177,9 +1128,7 @@
 
 
 static PyObject *
-builtin_hash(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_hash(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	long x;
@@ -1200,9 +1149,7 @@
 
 
 static PyObject *
-builtin_hex(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_hex(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	PyNumberMethods *nb;
@@ -1228,9 +1175,7 @@
 static PyObject *builtin_raw_input(PyObject *, PyObject *);
 
 static PyObject *
-builtin_input(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_input(PyObject *self, PyObject *args)
 {
 	PyObject *line;
 	char *str;
@@ -1263,9 +1208,7 @@
 
 
 static PyObject *
-builtin_intern(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_intern(PyObject *self, PyObject *args)
 {
 	PyObject *s;
 	if (!PyArg_ParseTuple(args, "S:intern", &s))
@@ -1285,9 +1228,7 @@
 
 
 static PyObject *
-builtin_int(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_int(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	int base = -909;		     /* unlikely! */
@@ -1320,9 +1261,7 @@
 
 
 static PyObject *
-builtin_long(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_long(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	int base = -909;		     /* unlikely! */
@@ -1356,9 +1295,7 @@
 
 
 static PyObject *
-builtin_float(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_float(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -1376,9 +1313,7 @@
 
 
 static PyObject *
-builtin_len(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_len(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	long res;
@@ -1398,9 +1333,7 @@
 
 
 static PyObject *
-builtin_list(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_list(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -1416,9 +1349,7 @@
 
 
 static PyObject *
-builtin_slice(self, args)
-     PyObject *self;
-     PyObject *args;
+builtin_slice(PyObject *self, PyObject *args)
 {
 	PyObject *start, *stop, *step;
 
@@ -1443,9 +1374,7 @@
 
 
 static PyObject *
-builtin_locals(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_locals(PyObject *self, PyObject *args)
 {
 	PyObject *d;
 
@@ -1463,9 +1392,7 @@
 
 
 static PyObject *
-min_max(args, sign)
-	PyObject *args;
-	int sign;
+min_max(PyObject *args, int sign)
 {
 	int i;
 	PyObject *v, *w, *x;
@@ -1516,9 +1443,7 @@
 }
 
 static PyObject *
-builtin_min(self, v)
-	PyObject *self;
-	PyObject *v;
+builtin_min(PyObject *self, PyObject *v)
 {
 	return min_max(v, -1);
 }
@@ -1532,9 +1457,7 @@
 
 
 static PyObject *
-builtin_max(self, v)
-	PyObject *self;
-	PyObject *v;
+builtin_max(PyObject *self, PyObject *v)
 {
 	return min_max(v, 1);
 }
@@ -1548,9 +1471,7 @@
 
 
 static PyObject *
-builtin_oct(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_oct(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 	PyNumberMethods *nb;
@@ -1573,9 +1494,7 @@
 
 
 static PyObject *
-builtin_open(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_open(PyObject *self, PyObject *args)
 {
 	char *name;
 	char *mode = "r";
@@ -1603,9 +1522,7 @@
 
 
 static PyObject *
-builtin_ord(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_ord(PyObject *self, PyObject *args)
 {
 	PyObject *obj;
 	long ord;
@@ -1644,9 +1561,7 @@
 
 
 static PyObject *
-builtin_pow(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_pow(PyObject *self, PyObject *args)
 {
 	PyObject *v, *w, *z = Py_None;
 
@@ -1695,9 +1610,7 @@
 }
 
 static PyObject *
-builtin_range(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_range(PyObject *self, PyObject *args)
 {
 	long ilow = 0, ihigh = 0, istep = 1;
 	long bign;
@@ -1757,9 +1670,7 @@
 
 
 static PyObject *
-builtin_xrange(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_xrange(PyObject *self, PyObject *args)
 {
 	long ilow = 0, ihigh = 0, istep = 1;
 	long n;
@@ -1801,9 +1712,7 @@
 
 
 static PyObject *
-builtin_raw_input(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_raw_input(PyObject *self, PyObject *args)
 {
 	PyObject *v = NULL;
 	PyObject *f;
@@ -1880,9 +1789,7 @@
 
 
 static PyObject *
-builtin_reduce(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_reduce(PyObject *self, PyObject *args)
 {
 	PyObject *seq, *func, *result = NULL;
 	PySequenceMethods *sqf;
@@ -1956,9 +1863,7 @@
 
 
 static PyObject *
-builtin_reload(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_reload(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -1974,9 +1879,7 @@
 
 
 static PyObject *
-builtin_repr(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_repr(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -1993,9 +1896,7 @@
 
 
 static PyObject *
-builtin_round(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_round(PyObject *self, PyObject *args)
 {
 	double x;
 	double f;
@@ -2031,9 +1932,7 @@
 
 
 static PyObject *
-builtin_str(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_str(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -2050,9 +1949,7 @@
 
 
 static PyObject *
-builtin_tuple(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_tuple(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -2069,9 +1966,7 @@
 
 
 static PyObject *
-builtin_type(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_type(PyObject *self, PyObject *args)
 {
 	PyObject *v;
 
@@ -2089,9 +1984,7 @@
 
 
 static PyObject *
-builtin_vars(self, args)
-	PyObject *self;
-	PyObject *args;
+builtin_vars(PyObject *self, PyObject *args)
 {
 	PyObject *v = NULL;
 	PyObject *d;
@@ -2126,11 +2019,7 @@
 With an argument, equivalent to object.__dict__.";
 
 static int
-abstract_issubclass(derived, cls, err, first)
-	PyObject *derived;
-	PyObject *cls;
-	char *err;
-	int first;
+abstract_issubclass(PyObject *derived, PyObject *cls, char *err, int first)
 {
 	static PyObject *__bases__ = NULL;
 	PyObject *bases;
@@ -2177,9 +2066,7 @@
 }
 
 static PyObject *
-builtin_isinstance(self, args)
-     PyObject *self;
-     PyObject *args;
+builtin_isinstance(PyObject *self, PyObject *args)
 {
 	PyObject *inst;
 	PyObject *cls;
@@ -2238,9 +2125,7 @@
 
 
 static PyObject *
-builtin_issubclass(self, args)
-     PyObject *self;
-     PyObject *args;
+builtin_issubclass(PyObject *self, PyObject *args)
 {
 	PyObject *derived;
 	PyObject *cls;
@@ -2336,7 +2221,7 @@
 Noteworthy: None is the `nil' object; Ellipsis represents `...' in slices.";
 
 PyObject *
-_PyBuiltin_Init()
+_PyBuiltin_Init(void)
 {
 	PyObject *mod, *dict, *debug;
 	mod = Py_InitModule4("__builtin__", builtin_methods,
@@ -2362,9 +2247,7 @@
 /* Helper for filter(): filter a tuple through a function */
 
 static PyObject *
-filtertuple(func, tuple)
-	PyObject *func;
-	PyObject *tuple;
+filtertuple(PyObject *func, PyObject *tuple)
 {
 	PyObject *result;
 	register int i, j;
@@ -2420,9 +2303,7 @@
 /* Helper for filter(): filter a string through a function */
 
 static PyObject *
-filterstring(func, strobj)
-	PyObject *func;
-	PyObject *strobj;
+filterstring(PyObject *func, PyObject *strobj)
 {
 	PyObject *result;
 	register int i, j;
diff --git a/Python/ceval.c b/Python/ceval.c
index 3225685..db22756 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -99,7 +99,7 @@
 static long main_thread = 0;
 
 void
-PyEval_InitThreads()
+PyEval_InitThreads(void)
 {
 	if (interpreter_lock)
 		return;
@@ -110,20 +110,19 @@
 }
 
 void
-PyEval_AcquireLock()
+PyEval_AcquireLock(void)
 {
 	PyThread_acquire_lock(interpreter_lock, 1);
 }
 
 void
-PyEval_ReleaseLock()
+PyEval_ReleaseLock(void)
 {
 	PyThread_release_lock(interpreter_lock);
 }
 
 void
-PyEval_AcquireThread(tstate)
-	PyThreadState *tstate;
+PyEval_AcquireThread(PyThreadState *tstate)
 {
 	if (tstate == NULL)
 		Py_FatalError("PyEval_AcquireThread: NULL new thread state");
@@ -134,8 +133,7 @@
 }
 
 void
-PyEval_ReleaseThread(tstate)
-	PyThreadState *tstate;
+PyEval_ReleaseThread(PyThreadState *tstate)
 {
 	if (tstate == NULL)
 		Py_FatalError("PyEval_ReleaseThread: NULL thread state");
@@ -150,7 +148,7 @@
    with and without threads: */
 
 PyThreadState *
-PyEval_SaveThread()
+PyEval_SaveThread(void)
 {
 	PyThreadState *tstate = PyThreadState_Swap(NULL);
 	if (tstate == NULL)
@@ -163,8 +161,7 @@
 }
 
 void
-PyEval_RestoreThread(tstate)
-	PyThreadState *tstate;
+PyEval_RestoreThread(PyThreadState *tstate)
 {
 	if (tstate == NULL)
 		Py_FatalError("PyEval_RestoreThread: NULL tstate");
@@ -221,9 +218,7 @@
 static volatile int things_to_do = 0;
 
 int
-Py_AddPendingCall(func, arg)
-	int (*func)(ANY *);
-	ANY *arg;
+Py_AddPendingCall(int (*func)(ANY *), ANY *arg)
 {
 	static int busy = 0;
 	int i, j;
@@ -247,7 +242,7 @@
 }
 
 int
-Py_MakePendingCalls()
+Py_MakePendingCalls(void)
 {
 	static int busy = 0;
 #ifdef WITH_THREAD
@@ -294,10 +289,7 @@
 
 
 PyObject *
-PyEval_EvalCode(co, globals, locals)
-	PyCodeObject *co;
-	PyObject *globals;
-	PyObject *locals;
+PyEval_EvalCode(PyCodeObject *co, PyObject *globals, PyObject *locals)
 {
 	return eval_code2(co,
 			  globals, locals,
@@ -315,18 +307,9 @@
 #endif
 
 static PyObject *
-eval_code2(co, globals, locals,
-	   args, argcount, kws, kwcount, defs, defcount, owner)
-	PyCodeObject *co;
-	PyObject *globals;
-	PyObject *locals;
-	PyObject **args;
-	int argcount;
-	PyObject **kws; /* length: 2*kwcount */
-	int kwcount;
-	PyObject **defs;
-	int defcount;
-	PyObject *owner;
+eval_code2(PyCodeObject *co, PyObject *globals, PyObject *locals,
+	   PyObject **args, int argcount, PyObject **kws, int kwcount,
+	   PyObject **defs, int defcount, PyObject *owner)
 {
 #ifdef DXPAIRS
 	int lastopcode = 0;
@@ -1920,11 +1903,7 @@
 }
 
 static void
-set_exc_info(tstate, type, value, tb)
-	PyThreadState *tstate;
-	PyObject *type;
-	PyObject *value;
-	PyObject *tb;
+set_exc_info(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb)
 {
 	PyFrameObject *frame;
 	PyObject *tmp_type, *tmp_value, *tmp_tb;
@@ -1970,8 +1949,7 @@
 }
 
 static void
-reset_exc_info(tstate)
-	PyThreadState *tstate;
+reset_exc_info(PyThreadState *tstate)
 {
 	PyFrameObject *frame;
 	PyObject *tmp_type, *tmp_value, *tmp_tb;
@@ -2009,8 +1987,7 @@
 /* Logic for the raise statement (too complicated for inlining).
    This *consumes* a reference count to each of its arguments. */
 static enum why_code
-do_raise(type, value, tb)
-	PyObject *type, *value, *tb;
+do_raise(PyObject *type, PyObject *value, PyObject *tb)
 {
 	if (type == NULL) {
 		/* Reraise */
@@ -2109,10 +2086,7 @@
 }
 
 static int
-unpack_sequence(v, argcnt, sp)
-     PyObject *v;
-     int argcnt;
-     PyObject **sp;
+unpack_sequence(PyObject *v, int argcnt, PyObject **sp)
 {
 	int i;
 	PyObject *w;
@@ -2148,9 +2122,7 @@
 
 #ifdef LLTRACE
 static int
-prtrace(v, str)
-	PyObject *v;
-	char *str;
+prtrace(PyObject *v, char *str)
 {
 	printf("%s ", str);
 	if (PyObject_Print(v, stdout, 0) != 0)
@@ -2161,9 +2133,7 @@
 #endif
 
 static void
-call_exc_trace(p_trace, p_newtrace, f)
-	PyObject **p_trace, **p_newtrace;
-	PyFrameObject *f;
+call_exc_trace(PyObject **p_trace, PyObject **p_newtrace, PyFrameObject *f)
 {
 	PyObject *type, *value, *traceback, *arg;
 	int err;
@@ -2188,16 +2158,15 @@
 	}
 }
 
+/* PyObject **p_trace: in/out; may not be NULL;
+ 				may not point to NULL variable initially
+  PyObject **p_newtrace: in/out; may be NULL;
+  				may point to NULL variable;
+ 				may be same variable as p_newtrace */
+
 static int
-call_trace(p_trace, p_newtrace, f, msg, arg)
-	PyObject **p_trace; /* in/out; may not be NULL;
-			     may not point to NULL variable initially */
-	PyObject **p_newtrace; /* in/out; may be NULL;
-				may point to NULL variable;
-				may be same variable as p_newtrace */
-	PyFrameObject *f;
-	char *msg;
-	PyObject *arg;
+call_trace(PyObject **p_trace, PyObject **p_newtrace, PyFrameObject *f,
+	   char *msg, PyObject *arg)
 {
 	PyThreadState *tstate = f->f_tstate;
 	PyObject *args, *what;
@@ -2267,7 +2236,7 @@
 }
 
 PyObject *
-PyEval_GetBuiltins()
+PyEval_GetBuiltins(void)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 	PyFrameObject *current_frame = tstate->frame;
@@ -2278,7 +2247,7 @@
 }
 
 PyObject *
-PyEval_GetLocals()
+PyEval_GetLocals(void)
 {
 	PyFrameObject *current_frame = PyThreadState_Get()->frame;
 	if (current_frame == NULL)
@@ -2288,7 +2257,7 @@
 }
 
 PyObject *
-PyEval_GetGlobals()
+PyEval_GetGlobals(void)
 {
 	PyFrameObject *current_frame = PyThreadState_Get()->frame;
 	if (current_frame == NULL)
@@ -2298,21 +2267,21 @@
 }
 
 PyObject *
-PyEval_GetFrame()
+PyEval_GetFrame(void)
 {
 	PyFrameObject *current_frame = PyThreadState_Get()->frame;
 	return (PyObject *)current_frame;
 }
 
 int
-PyEval_GetRestricted()
+PyEval_GetRestricted(void)
 {
 	PyFrameObject *current_frame = PyThreadState_Get()->frame;
 	return current_frame == NULL ? 0 : current_frame->f_restricted;
 }
 
 int
-Py_FlushLine()
+Py_FlushLine(void)
 {
 	PyObject *f = PySys_GetObject("stdout");
 	if (f == NULL)
@@ -2330,9 +2299,7 @@
 /* for backward compatibility: export this interface */
 
 PyObject *
-PyEval_CallObject(func, arg)
-	PyObject *func;
-	PyObject *arg;
+PyEval_CallObject(PyObject *func, PyObject *arg)
 {
 	return PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL);
 }
@@ -2340,10 +2307,7 @@
         PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL)
 
 PyObject *
-PyEval_CallObjectWithKeywords(func, arg, kw)
-	PyObject *func;
-	PyObject *arg;
-	PyObject *kw;
+PyEval_CallObjectWithKeywords(PyObject *func, PyObject *arg, PyObject *kw)
 {
         ternaryfunc call;
         PyObject *result;
@@ -2382,10 +2346,7 @@
 }
 
 static PyObject *
-call_builtin(func, arg, kw)
-	PyObject *func;
-	PyObject *arg;
-	PyObject *kw;
+call_builtin(PyObject *func, PyObject *arg, PyObject *kw)
 {
 	if (PyCFunction_Check(func)) {
 		PyCFunction meth = PyCFunction_GetFunction(func);
@@ -2428,10 +2389,7 @@
 }
 
 static PyObject *
-call_function(func, arg, kw)
-	PyObject *func;
-	PyObject *arg;
-	PyObject *kw;
+call_function(PyObject *func, PyObject *arg, PyObject *kw)
 {
 	PyObject *class = NULL; /* == owner */
 	PyObject *argdefs;
@@ -2549,8 +2507,7 @@
 	"standard sequence type does not support step size other than one"
 
 static PyObject *
-loop_subscript(v, w)
-	PyObject *v, *w;
+loop_subscript(PyObject *v, PyObject *w)
 {
 	PySequenceMethods *sq = v->ob_type->tp_as_sequence;
 	int i;
@@ -2572,9 +2529,7 @@
    and error. Returns 1 on success.*/
 
 int
-_PyEval_SliceIndex(v, pi)
-	PyObject *v;
-	int *pi;
+_PyEval_SliceIndex(PyObject *v, int *pi)
 {
 	if (v != NULL) {
 		long x;
@@ -2627,8 +2582,7 @@
 }
 
 static PyObject *
-apply_slice(u, v, w) /* return u[v:w] */
-	PyObject *u, *v, *w;
+apply_slice(PyObject *u, PyObject *v, PyObject *w) /* return u[v:w] */
 {
 	int ilow = 0, ihigh = INT_MAX;
 	if (!_PyEval_SliceIndex(v, &ilow))
@@ -2639,8 +2593,7 @@
 }
 
 static int
-assign_slice(u, v, w, x) /* u[v:w] = x */
-	PyObject *u, *v, *w, *x;
+assign_slice(PyObject *u, PyObject *v, PyObject *w, PyObject *x) /* u[v:w] = x */
 {
 	int ilow = 0, ihigh = INT_MAX;
 	if (!_PyEval_SliceIndex(v, &ilow))
@@ -2654,10 +2607,7 @@
 }
 
 static PyObject *
-cmp_outcome(op, v, w)
-	int op;
-	register PyObject *v;
-	register PyObject *w;
+cmp_outcome(int op, register PyObject *v, register PyObject *w)
 {
 	register int cmp;
 	register int res = 0;
@@ -2699,10 +2649,7 @@
 }
 
 static int
-import_from(locals, v, name)
-	PyObject *locals;
-	PyObject *v;
-	PyObject *name;
+import_from(PyObject *locals, PyObject *v, PyObject *name)
 {
 	PyObject *w, *x;
 	if (!PyModule_Check(v)) {
@@ -2741,10 +2688,7 @@
 }
 
 static PyObject *
-build_class(methods, bases, name)
-	PyObject *methods; /* dictionary */
-	PyObject *bases;  /* tuple containing classes */
-	PyObject *name;   /* string */
+build_class(PyObject *methods, PyObject *bases, PyObject *name)
 {
 	int i, n;
 	if (!PyTuple_Check(bases)) {
@@ -2806,11 +2750,8 @@
 }
 
 static int
-exec_statement(f, prog, globals, locals)
-	PyFrameObject *f;
-	PyObject *prog;
-	PyObject *globals;
-	PyObject *locals;
+exec_statement(PyFrameObject *f, PyObject *prog, PyObject *globals,
+	       PyObject *locals)
 {
 	int n;
 	PyObject *v;
@@ -2874,9 +2815,7 @@
 
 /* Hack for ni.py */
 static PyObject *
-find_from_args(f, nexti)
-	PyFrameObject *f;
-	int nexti;
+find_from_args(PyFrameObject *f, int nexti)
 {
 	int opcode;
 	int oparg;
@@ -2914,8 +2853,7 @@
 #ifdef DYNAMIC_EXECUTION_PROFILE
 
 PyObject *
-getarray(a)
-	long a[256];
+getarray(long a[256])
 {
 	int i;
 	PyObject *l = PyList_New(256);
@@ -2934,8 +2872,7 @@
 }
 
 PyObject *
-_Py_GetDXProfile(self, args)
-	PyObject *self, *args;
+_Py_GetDXProfile(PyObject *self, PyObject *args)
 {
 #ifndef DXPAIRS
 	return getarray(dxp);
diff --git a/Python/codecs.c b/Python/codecs.c
index 20791f5..0a315d9 100644
--- a/Python/codecs.c
+++ b/Python/codecs.c
@@ -36,7 +36,7 @@
 */
 
 static
-int import_encodings() 
+int import_encodings(void)
 {
     PyObject *mod;
     
@@ -419,7 +419,7 @@
     return NULL;
 }
 
-void _PyCodecRegistry_Init()
+void _PyCodecRegistry_Init(void)
 {
     if (_PyCodec_SearchPath == NULL)
 	_PyCodec_SearchPath = PyList_New(0);
@@ -430,7 +430,7 @@
 	Py_FatalError("can't initialize codec registry");
 }
 
-void _PyCodecRegistry_Fini()
+void _PyCodecRegistry_Fini(void)
 {
     Py_XDECREF(_PyCodec_SearchPath);
     _PyCodec_SearchPath = NULL;
diff --git a/Python/compile.c b/Python/compile.c
index f39c794..b76586c 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -76,16 +76,13 @@
 };
 
 static PyObject *
-code_getattr(co, name)
-	PyCodeObject *co;
-	char *name;
+code_getattr(PyCodeObject *co, char *name)
 {
 	return PyMember_Get((char *)co, code_memberlist, name);
 }
 
 static void
-code_dealloc(co)
-	PyCodeObject *co;
+code_dealloc(PyCodeObject *co)
 {
 	Py_XDECREF(co->co_code);
 	Py_XDECREF(co->co_consts);
@@ -98,8 +95,7 @@
 }
 
 static PyObject *
-code_repr(co)
-	PyCodeObject *co;
+code_repr(PyCodeObject *co)
 {
 	char buf[500];
 	int lineno = -1;
@@ -118,8 +114,7 @@
 }
 
 static int
-code_compare(co, cp)
-	PyCodeObject *co, *cp;
+code_compare(PyCodeObject *co, PyCodeObject *cp)
 {
 	int cmp;
 	cmp = PyObject_Compare(co->co_name, cp->co_name);
@@ -141,8 +136,7 @@
 }
 
 static long
-code_hash(co)
-	PyCodeObject *co;
+code_hash(PyCodeObject *co)
 {
 	long h, h0, h1, h2, h3, h4;
 	h0 = PyObject_Hash(co->co_name);
@@ -183,21 +177,10 @@
 	"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"
 
 PyCodeObject *
-PyCode_New(argcount, nlocals, stacksize, flags,
-	      code, consts, names, varnames, filename, name,
-	      firstlineno, lnotab)
-	int argcount;
-	int nlocals;
-	int stacksize;
-	int flags;
-	PyObject *code;
-	PyObject *consts;
-	PyObject *names;
-	PyObject *varnames;
-	PyObject *filename;
-	PyObject *name;
-	int firstlineno;
-	PyObject *lnotab;
+PyCode_New(int argcount, int nlocals, int stacksize, int flags,
+	   PyObject *code, PyObject *consts, PyObject *names,
+	   PyObject *varnames, PyObject *filename, PyObject *name,
+	   int firstlineno, PyObject *lnotab)
 {
 	PyCodeObject *co;
 	int i;
@@ -317,10 +300,7 @@
 /* Error message including line number */
 
 static void
-com_error(c, exc, msg)
-	struct compiling *c;
-	PyObject *exc;
-	char *msg;
+com_error(struct compiling *c, PyObject *exc, char *msg)
 {
 	size_t n = strlen(msg);
 	PyObject *v;
@@ -347,9 +327,7 @@
 /* Interface to the block stack */
 
 static void
-block_push(c, type)
-	struct compiling *c;
-	int type;
+block_push(struct compiling *c, int type)
 {
 	if (c->c_nblocks >= CO_MAXBLOCKS) {
 		com_error(c, PyExc_SystemError,
@@ -361,9 +339,7 @@
 }
 
 static void
-block_pop(c, type)
-	struct compiling *c;
-	int type;
+block_pop(struct compiling *c, int type)
 {
 	if (c->c_nblocks > 0)
 		c->c_nblocks--;
@@ -401,9 +377,7 @@
 static PyObject *parsestr(char *);
 
 static int
-com_init(c, filename)
-	struct compiling *c;
-	char *filename;
+com_init(struct compiling *c, char *filename)
 {
 	memset((void *)c, '\0', sizeof(struct compiling));
 	if ((c->c_code = PyString_FromStringAndSize((char *)NULL,
@@ -453,8 +427,7 @@
 }
 
 static void
-com_free(c)
-	struct compiling *c;
+com_free(struct compiling *c)
 {
 	Py_XDECREF(c->c_code);
 	Py_XDECREF(c->c_consts);
@@ -468,9 +441,7 @@
 }
 
 static void
-com_push(c, n)
-	struct compiling *c;
-	int n;
+com_push(struct compiling *c, int n)
 {
 	c->c_stacklevel += n;
 	if (c->c_stacklevel > c->c_maxstacklevel)
@@ -478,9 +449,7 @@
 }
 
 static void
-com_pop(c, n)
-	struct compiling *c;
-	int n;
+com_pop(struct compiling *c, int n)
 {
 	if (c->c_stacklevel < n) {
 		/* fprintf(stderr,
@@ -494,8 +463,7 @@
 }
 
 static void
-com_done(c)
-	struct compiling *c;
+com_done(struct compiling *c)
 {
 	if (c->c_code != NULL)
 		_PyString_Resize(&c->c_code, c->c_nexti);
@@ -504,9 +472,7 @@
 }
 
 static void
-com_addbyte(c, byte)
-	struct compiling *c;
-	int byte;
+com_addbyte(struct compiling *c, int byte)
 {
 	int len;
 	/*fprintf(stderr, "%3d: %3d\n", c->c_nexti, byte);*/
@@ -531,19 +497,14 @@
 }
 
 static void
-com_addint(c, x)
-	struct compiling *c;
-	int x;
+com_addint(struct compiling *c, int x)
 {
 	com_addbyte(c, x & 0xff);
 	com_addbyte(c, x >> 8); /* XXX x should be positive */
 }
 
 static void
-com_add_lnotab(c, addr, line)
-	struct compiling *c;
-	int addr;
-	int line;
+com_add_lnotab(struct compiling *c, int addr, int line)
 {
 	int size;
 	char *p;
@@ -563,9 +524,7 @@
 }
 
 static void
-com_set_lineno(c, lineno)
-	struct compiling *c;
-	int lineno;
+com_set_lineno(struct compiling *c, int lineno)
 {
 	c->c_lineno = lineno;
 	if (c->c_firstlineno == 0) {
@@ -591,10 +550,7 @@
 }
 
 static void
-com_addoparg(c, op, arg)
-	struct compiling *c;
-	int op;
-	int arg;
+com_addoparg(struct compiling *c, int op, int arg)
 {
 	if (op == SET_LINENO) {
 		com_set_lineno(c, arg);
@@ -606,10 +562,7 @@
 }
 
 static void
-com_addfwref(c, op, p_anchor)
-	struct compiling *c;
-	int op;
-	int *p_anchor;
+com_addfwref(struct compiling *c, int op, int *p_anchor)
 {
 	/* Compile a forward reference for backpatching */
 	int here;
@@ -622,9 +575,7 @@
 }
 
 static void
-com_backpatch(c, anchor)
-	struct compiling *c;
-	int anchor; /* Must be nonzero */
+com_backpatch(struct compiling *c, int anchor)
 {
 	unsigned char *code = (unsigned char *) PyString_AsString(c->c_code);
 	int target = c->c_nexti;
@@ -645,11 +596,7 @@
 /* Handle literals and names uniformly */
 
 static int
-com_add(c, list, dict, v)
-	struct compiling *c;
-	PyObject *list;
-	PyObject *dict;
-	PyObject *v;
+com_add(struct compiling *c, PyObject *list, PyObject *dict, PyObject *v)
 {
 	PyObject *w, *t, *np=NULL;
 	long n;
@@ -681,28 +628,20 @@
 }
 
 static int
-com_addconst(c, v)
-	struct compiling *c;
-	PyObject *v;
+com_addconst(struct compiling *c, PyObject *v)
 {
 	return com_add(c, c->c_consts, c->c_const_dict, v);
 }
 
 static int
-com_addname(c, v)
-	struct compiling *c;
-	PyObject *v;
+com_addname(struct compiling *c, PyObject *v)
 {
 	return com_add(c, c->c_names, c->c_name_dict, v);
 }
 
 #ifdef PRIVATE_NAME_MANGLING
 static int
-com_mangle(c, name, buffer, maxlen)
-	struct compiling *c;
-	char *name;
-	char *buffer;
-	size_t maxlen;
+com_mangle(struct compiling *c, char *name, char *buffer, size_t maxlen)
 {
 	/* Name mangling: __private becomes _classname__private.
 	   This is independent from how the name is used. */
@@ -732,10 +671,7 @@
 #endif
 
 static void
-com_addopnamestr(c, op, name)
-	struct compiling *c;
-	int op;
-	char *name;
+com_addopnamestr(struct compiling *c, int op, char *name)
 {
 	PyObject *v;
 	int i;
@@ -771,10 +707,7 @@
 }
 
 static void
-com_addopname(c, op, n)
-	struct compiling *c;
-	int op;
-	node *n;
+com_addopname(struct compiling *c, int op, node *n)
 {
 	char *name;
 	char buffer[1000];
@@ -809,9 +742,7 @@
 }
 
 static PyObject *
-parsenumber(co, s)
-	struct compiling *co;
-	char *s;
+parsenumber(struct compiling *co, char *s)
 {
 	extern double atof(const char *);
 	char *end;
@@ -861,8 +792,7 @@
 }
 
 static PyObject *
-parsestr(s)
-	char *s;
+parsestr(char *s)
 {
 	PyObject *v;
 	size_t len;
@@ -975,8 +905,7 @@
 }
 
 static PyObject *
-parsestrplus(n)
-	node *n;
+parsestrplus(node *n)
 {
 	PyObject *v;
 	int i;
@@ -1012,9 +941,7 @@
 }
 
 static void
-com_list_constructor(c, n)
-	struct compiling *c;
-	node *n;
+com_list_constructor(struct compiling *c, node *n)
 {
 	int len;
 	int i;
@@ -1029,9 +956,7 @@
 }
 
 static void
-com_dictmaker(c, n)
-	struct compiling *c;
-	node *n;
+com_dictmaker(struct compiling *c, node *n)
 {
 	int i;
 	/* dictmaker: test ':' test (',' test ':' value)* [','] */
@@ -1049,9 +974,7 @@
 }
 
 static void
-com_atom(c, n)
-	struct compiling *c;
-	node *n;
+com_atom(struct compiling *c, node *n)
 {
 	node *ch;
 	PyObject *v;
@@ -1121,10 +1044,7 @@
 }
 
 static void
-com_slice(c, n, op)
-	struct compiling *c;
-	node *n;
-	int op;
+com_slice(struct compiling *c, node *n, int op)
 {
 	if (NCH(n) == 1) {
 		com_addbyte(c, op);
@@ -1149,10 +1069,7 @@
 }
 
 static void
-com_argument(c, n, pkeywords)
-	struct compiling *c;
-	node *n; /* argument */
-	PyObject **pkeywords;
+com_argument(struct compiling *c, node *n, PyObject **pkeywords)
 {
 	node *m;
 	REQ(n, argument); /* [test '='] test; really [keyword '='] test */
@@ -1196,9 +1113,7 @@
 }
 
 static void
-com_call_function(c, n)
-	struct compiling *c;
-	node *n; /* EITHER arglist OR ')' */
+com_call_function(struct compiling *c, node *n)
 {
 	if (TYPE(n) == RPAR) {
 		com_addoparg(c, CALL_FUNCTION, 0);
@@ -1254,17 +1169,13 @@
 }
 
 static void
-com_select_member(c, n)
-	struct compiling *c;
-	node *n;
+com_select_member(struct compiling *c, node *n)
 {
 	com_addopname(c, LOAD_ATTR, n);
 }
 
 static void
-com_sliceobj(c, n)
-	struct compiling *c;
-	node *n;
+com_sliceobj(struct compiling *c, node *n)
 {
 	int i=0;
 	int ns=2; /* number of slice arguments */
@@ -1309,9 +1220,7 @@
 }
 
 static void
-com_subscript(c, n)
-	struct compiling *c;
-	node *n;
+com_subscript(struct compiling *c, node *n)
 {
 	node *ch;
 	REQ(n, subscript);
@@ -1333,10 +1242,7 @@
 }
 
 static void
-com_subscriptlist(c, n, assigning)
-	struct compiling *c;
-	node *n;
-	int assigning;
+com_subscriptlist(struct compiling *c, node *n, int assigning)
 {
 	int i, op;
 	REQ(n, subscriptlist);
@@ -1388,9 +1294,7 @@
 }
 
 static void
-com_apply_trailer(c, n)
-	struct compiling *c;
-	node *n;
+com_apply_trailer(struct compiling *c, node *n)
 {
 	REQ(n, trailer);
 	switch (TYPE(CHILD(n, 0))) {
@@ -1410,9 +1314,7 @@
 }
 
 static void
-com_power(c, n)
-	struct compiling *c;
-	node *n;
+com_power(struct compiling *c, node *n)
 {
 	int i;
 	REQ(n, power);
@@ -1430,9 +1332,7 @@
 }
 
 static void
-com_factor(c, n)
-	struct compiling *c;
-	node *n;
+com_factor(struct compiling *c, node *n)
 {
 	REQ(n, factor);
 	if (TYPE(CHILD(n, 0)) == PLUS) {
@@ -1453,9 +1353,7 @@
 }
 
 static void
-com_term(c, n)
-	struct compiling *c;
-	node *n;
+com_term(struct compiling *c, node *n)
 {
 	int i;
 	int op;
@@ -1484,9 +1382,7 @@
 }
 
 static void
-com_arith_expr(c, n)
-	struct compiling *c;
-	node *n;
+com_arith_expr(struct compiling *c, node *n)
 {
 	int i;
 	int op;
@@ -1512,9 +1408,7 @@
 }
 
 static void
-com_shift_expr(c, n)
-	struct compiling *c;
-	node *n;
+com_shift_expr(struct compiling *c, node *n)
 {
 	int i;
 	int op;
@@ -1540,9 +1434,7 @@
 }
 
 static void
-com_and_expr(c, n)
-	struct compiling *c;
-	node *n;
+com_and_expr(struct compiling *c, node *n)
 {
 	int i;
 	int op;
@@ -1564,9 +1456,7 @@
 }
 
 static void
-com_xor_expr(c, n)
-	struct compiling *c;
-	node *n;
+com_xor_expr(struct compiling *c, node *n)
 {
 	int i;
 	int op;
@@ -1588,9 +1478,7 @@
 }
 
 static void
-com_expr(c, n)
-	struct compiling *c;
-	node *n;
+com_expr(struct compiling *c, node *n)
 {
 	int i;
 	int op;
@@ -1612,8 +1500,7 @@
 }
 
 static enum cmp_op
-cmp_type(n)
-	node *n;
+cmp_type(node *n)
 {
 	REQ(n, comp_op);
 	/* comp_op: '<' | '>' | '=' | '>=' | '<=' | '<>' | '!=' | '=='
@@ -1644,9 +1531,7 @@
 }
 
 static void
-com_comparison(c, n)
-	struct compiling *c;
-	node *n;
+com_comparison(struct compiling *c, node *n)
 {
 	int i;
 	enum cmp_op op;
@@ -1723,9 +1608,7 @@
 }
 
 static void
-com_not_test(c, n)
-	struct compiling *c;
-	node *n;
+com_not_test(struct compiling *c, node *n)
 {
 	REQ(n, not_test); /* 'not' not_test | comparison */
 	if (NCH(n) == 1) {
@@ -1738,9 +1621,7 @@
 }
 
 static void
-com_and_test(c, n)
-	struct compiling *c;
-	node *n;
+com_and_test(struct compiling *c, node *n)
 {
 	int i;
 	int anchor;
@@ -1760,9 +1641,7 @@
 }
 
 static void
-com_test(c, n)
-	struct compiling *c;
-	node *n;
+com_test(struct compiling *c, node *n)
 {
 	REQ(n, test); /* and_test ('or' and_test)* | lambdef */
 	if (NCH(n) == 1 && TYPE(CHILD(n, 0)) == lambdef) {
@@ -1800,10 +1679,7 @@
 }
 
 static void
-com_list(c, n, toplevel)
-	struct compiling *c;
-	node *n;
-	int toplevel; /* If nonzero, *always* build a tuple */
+com_list(struct compiling *c, node *n, int toplevel)
 {
 	/* exprlist: expr (',' expr)* [',']; likewise for testlist */
 	if (NCH(n) == 1 && !toplevel) {
@@ -1827,20 +1703,14 @@
 static void com_assign(struct compiling *, node *, int);
 
 static void
-com_assign_attr(c, n, assigning)
-	struct compiling *c;
-	node *n;
-	int assigning;
+com_assign_attr(struct compiling *c, node *n, int assigning)
 {
 	com_addopname(c, assigning ? STORE_ATTR : DELETE_ATTR, n);
 	com_pop(c, assigning ? 2 : 1);
 }
 
 static void
-com_assign_trailer(c, n, assigning)
-	struct compiling *c;
-	node *n;
-	int assigning;
+com_assign_trailer(struct compiling *c, node *n, int assigning)
 {
 	REQ(n, trailer);
 	switch (TYPE(CHILD(n, 0))) {
@@ -1860,10 +1730,7 @@
 }
 
 static void
-com_assign_tuple(c, n, assigning)
-	struct compiling *c;
-	node *n;
-	int assigning;
+com_assign_tuple(struct compiling *c, node *n, int assigning)
 {
 	int i;
 	if (TYPE(n) != testlist)
@@ -1878,10 +1745,7 @@
 }
 
 static void
-com_assign_list(c, n, assigning)
-	struct compiling *c;
-	node *n;
-	int assigning;
+com_assign_list(struct compiling *c, node *n, int assigning)
 {
 	int i;
 	if (assigning) {
@@ -1894,10 +1758,7 @@
 }
 
 static void
-com_assign_name(c, n, assigning)
-	struct compiling *c;
-	node *n;
-	int assigning;
+com_assign_name(struct compiling *c, node *n, int assigning)
 {
 	REQ(n, NAME);
 	com_addopname(c, assigning ? STORE_NAME : DELETE_NAME, n);
@@ -1906,10 +1767,7 @@
 }
 
 static void
-com_assign(c, n, assigning)
-	struct compiling *c;
-	node *n;
-	int assigning;
+com_assign(struct compiling *c, node *n, int assigning)
 {
 	/* Loop to avoid trivial recursion */
 	for (;;) {
@@ -2016,9 +1874,7 @@
 /* Forward */ static node *get_rawdocstring(node *);
 
 static void
-com_expr_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_expr_stmt(struct compiling *c, node *n)
 {
 	REQ(n, expr_stmt); /* testlist ('=' testlist)* */
 	/* Forget it if we have just a doc string here */
@@ -2045,9 +1901,7 @@
 }
 
 static void
-com_assert_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_assert_stmt(struct compiling *c, node *n)
 {
 	int a = 0, b = 0;
 	int i;
@@ -2087,9 +1941,7 @@
 }
 
 static void
-com_print_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_print_stmt(struct compiling *c, node *n)
 {
 	int i;
 	REQ(n, print_stmt); /* 'print' (test ',')* [test] */
@@ -2104,9 +1956,7 @@
 }
 
 static void
-com_return_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_return_stmt(struct compiling *c, node *n)
 {
 	REQ(n, return_stmt); /* 'return' [testlist] */
 	if (!c->c_infunction) {
@@ -2123,9 +1973,7 @@
 }
 
 static void
-com_raise_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_raise_stmt(struct compiling *c, node *n)
 {
 	int i;
 	REQ(n, raise_stmt); /* 'raise' [test [',' test [',' test]]] */
@@ -2143,9 +1991,7 @@
 }
 
 static void
-com_import_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_import_stmt(struct compiling *c, node *n)
 {
 	int i;
 	REQ(n, import_stmt);
@@ -2174,9 +2020,7 @@
 }
 
 static void
-com_global_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_global_stmt(struct compiling *c, node *n)
 {
 	int i;
 	REQ(n, global_stmt);
@@ -2200,9 +2044,7 @@
 }
 
 static int
-com_newlocal_o(c, nameval)
-	struct compiling *c;
-	PyObject *nameval;
+com_newlocal_o(struct compiling *c, PyObject *nameval)
 {
 	int i;
 	PyObject *ival;
@@ -2226,9 +2068,7 @@
 }
 
 static int
-com_addlocal_o(c, nameval)
-	struct compiling *c;
-	PyObject *nameval;
+com_addlocal_o(struct compiling *c, PyObject *nameval)
 {
 	PyObject *ival =  PyDict_GetItem(c->c_locals, nameval);
 	if (ival != NULL)
@@ -2237,9 +2077,7 @@
 }
 
 static int
-com_newlocal(c, name)
-	struct compiling *c;
-	char *name;
+com_newlocal(struct compiling *c, char *name)
 {
 	PyObject *nameval = PyString_InternFromString(name);
 	int i;
@@ -2253,9 +2091,7 @@
 }
 
 static void
-com_exec_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_exec_stmt(struct compiling *c, node *n)
 {
 	REQ(n, exec_stmt);
 	/* exec_stmt: 'exec' expr ['in' expr [',' expr]] */
@@ -2277,9 +2113,7 @@
 }
 
 static int
-is_constant_false(c, n)
-	struct compiling *c;
-	node *n;
+is_constant_false(struct compiling *c, node *n)
 {
 	PyObject *v;
 	int i;
@@ -2361,9 +2195,7 @@
 }
 
 static void
-com_if_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_if_stmt(struct compiling *c, node *n)
 {
 	int i;
 	int anchor = 0;
@@ -2393,9 +2225,7 @@
 }
 
 static void
-com_while_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_while_stmt(struct compiling *c, node *n)
 {
 	int break_anchor = 0;
 	int anchor = 0;
@@ -2425,9 +2255,7 @@
 }
 
 static void
-com_for_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_for_stmt(struct compiling *c, node *n)
 {
 	PyObject *v;
 	int break_anchor = 0;
@@ -2530,9 +2358,7 @@
 */
 
 static void
-com_try_except(c, n)
-	struct compiling *c;
-	node *n;
+com_try_except(struct compiling *c, node *n)
 {
 	int except_anchor = 0;
 	int end_anchor = 0;
@@ -2601,9 +2427,7 @@
 }
 
 static void
-com_try_finally(c, n)
-	struct compiling *c;
-	node *n;
+com_try_finally(struct compiling *c, node *n)
 {
 	int finally_anchor = 0;
 	node *ch;
@@ -2630,9 +2454,7 @@
 }
 
 static void
-com_try_stmt(c, n)
-	struct compiling *c;
-	node *n;
+com_try_stmt(struct compiling *c, node *n)
 {
 	REQ(n, try_stmt);
 	/* 'try' ':' suite (except_clause ':' suite)+ ['else' ':' suite]
@@ -2644,8 +2466,7 @@
 }
 
 static node *
-get_rawdocstring(n)
-	node *n;
+get_rawdocstring(node *n)
 {
 	int i;
 
@@ -2705,8 +2526,7 @@
 }
 
 static PyObject *
-get_docstring(n)
-	node *n;
+get_docstring(node *n)
 {
 	/* Don't generate doc-strings if run with -OO */
 	if (Py_OptimizeFlag > 1)
@@ -2718,9 +2538,7 @@
 }
 
 static void
-com_suite(c, n)
-	struct compiling *c;
-	node *n;
+com_suite(struct compiling *c, node *n)
 {
 	REQ(n, suite);
 	/* simple_stmt | NEWLINE INDENT NEWLINE* (stmt NEWLINE*)+ DEDENT */
@@ -2739,9 +2557,7 @@
 
 /* ARGSUSED */
 static void
-com_continue_stmt(c, n)
-	struct compiling *c;
-	node *n; /* Not used, but passed for consistency */
+com_continue_stmt(struct compiling *c, node *n)
 {
 	int i = c->c_nblocks;
 	if (i-- > 0 && c->c_block[i] == SETUP_LOOP) {
@@ -2756,9 +2572,7 @@
 }
 
 static int
-com_argdefs(c, n)
-	struct compiling *c;
-	node *n;
+com_argdefs(struct compiling *c, node *n)
 {
 	int i, nch, nargs, ndefs;
 	if (TYPE(n) == lambdef) {
@@ -2812,9 +2626,7 @@
 }
 
 static void
-com_funcdef(c, n)
-	struct compiling *c;
-	node *n;
+com_funcdef(struct compiling *c, node *n)
 {
 	PyObject *v;
 	REQ(n, funcdef); /* funcdef: 'def' NAME parameters ':' suite */
@@ -2835,9 +2647,7 @@
 }
 
 static void
-com_bases(c, n)
-	struct compiling *c;
-	node *n;
+com_bases(struct compiling *c, node *n)
 {
 	int i;
 	REQ(n, testlist);
@@ -2850,9 +2660,7 @@
 }
 
 static void
-com_classdef(c, n)
-	struct compiling *c;
-	node *n;
+com_classdef(struct compiling *c, node *n)
 {
 	int i;
 	PyObject *v;
@@ -2891,9 +2699,7 @@
 }
 
 static void
-com_node(c, n)
-	struct compiling *c;
-	node *n;
+com_node(struct compiling *c, node *n)
 {
 	switch (TYPE(n)) {
 	
@@ -3044,9 +2850,7 @@
 static void com_fplist(struct compiling *, node *);
 
 static void
-com_fpdef(c, n)
-	struct compiling *c;
-	node *n;
+com_fpdef(struct compiling *c, node *n)
 {
 	REQ(n, fpdef); /* fpdef: NAME | '(' fplist ')' */
 	if (TYPE(CHILD(n, 0)) == LPAR)
@@ -3058,9 +2862,7 @@
 }
 
 static void
-com_fplist(c, n)
-	struct compiling *c;
-	node *n;
+com_fplist(struct compiling *c, node *n)
 {
 	REQ(n, fplist); /* fplist: fpdef (',' fpdef)* [','] */
 	if (NCH(n) == 1) {
@@ -3076,9 +2878,7 @@
 }
 
 static void
-com_arglist(c, n)
-	struct compiling *c;
-	node *n;
+com_arglist(struct compiling *c, node *n)
 {
 	int nch, i;
 	int complex = 0;
@@ -3181,9 +2981,7 @@
 }
 
 static void
-com_file_input(c, n)
-	struct compiling *c;
-	node *n;
+com_file_input(struct compiling *c, node *n)
 {
 	int i;
 	PyObject *doc;
@@ -3207,9 +3005,7 @@
 /* Top-level compile-node interface */
 
 static void
-compile_funcdef(c, n)
-	struct compiling *c;
-	node *n;
+compile_funcdef(struct compiling *c, node *n)
 {
 	PyObject *doc;
 	node *ch;
@@ -3236,9 +3032,7 @@
 }
 
 static void
-compile_lambdef(c, n)
-	struct compiling *c;
-	node *n;
+compile_lambdef(struct compiling *c, node *n)
 {
 	node *ch;
 	REQ(n, lambdef); /* lambdef: 'lambda' [varargslist] ':' test */
@@ -3258,9 +3052,7 @@
 }
 
 static void
-compile_classdef(c, n)
-	struct compiling *c;
-	node *n;
+compile_classdef(struct compiling *c, node *n)
 {
 	node *ch;
 	PyObject *doc;
@@ -3290,9 +3082,7 @@
 }
 
 static void
-compile_node(c, n)
-	struct compiling *c;
-	node *n;
+compile_node(struct compiling *c, node *n)
 {
 	com_addoparg(c, SET_LINENO, n->n_lineno);
 	
@@ -3369,8 +3159,7 @@
    NB: this modifies the string object c->c_code!  */
 
 static void
-optimize(c)
-	struct compiling *c;
+optimize(struct compiling *c)
 {
 	unsigned char *next_instr, *cur_instr;
 	int opcode;
@@ -3446,26 +3235,19 @@
 }
 
 PyCodeObject *
-PyNode_Compile(n, filename)
-	node *n;
-	char *filename;
+PyNode_Compile(node *n, char *filename)
 {
 	return jcompile(n, filename, NULL);
 }
 
 static PyCodeObject *
-icompile(n, base)
-	node *n;
-	struct compiling *base;
+icompile(node *n, struct compiling *base)
 {
 	return jcompile(n, base->c_filename, base);
 }
 
 static PyCodeObject *
-jcompile(n, filename, base)
-	node *n;
-	char *filename;
-	struct compiling *base;
+jcompile(node *n, char *filename, struct compiling *base)
 {
 	struct compiling sc;
 	PyCodeObject *co;
@@ -3517,9 +3299,7 @@
 }
 
 int
-PyCode_Addr2Line(co, addrq)
-	PyCodeObject *co;
-	int addrq;
+PyCode_Addr2Line(PyCodeObject *co, int addrq)
 {
 	int size = PyString_Size(co->co_lnotab) / 2;
 	unsigned char *p = (unsigned char*)PyString_AsString(co->co_lnotab);
diff --git a/Python/dup2.c b/Python/dup2.c
index 85ec5d5..ba7413a 100644
--- a/Python/dup2.c
+++ b/Python/dup2.c
@@ -16,8 +16,7 @@
 #define BADEXIT -1
 
 int
-dup2(fd1, fd2)
-int fd1, fd2;
+dup2(int fd1, int fd2)
 {
 	if (fd1 != fd2) {
 		if (fcntl(fd1, F_GETFL) < 0)
diff --git a/Python/dynload_aix.c b/Python/dynload_aix.c
index 04e6293..6a22988 100644
--- a/Python/dynload_aix.c
+++ b/Python/dynload_aix.c
@@ -42,8 +42,7 @@
 };
 
 static int
-aix_getoldmodules(modlistptr)
-	void **modlistptr;
+aix_getoldmodules(void **modlistptr)
 {
 	register ModulePtr       modptr, prevmodptr;
 	register struct ld_info  *ldiptr;
@@ -115,9 +114,7 @@
 }
 
 static int
-aix_bindnewmodule(newmoduleptr, modlistptr)
-	void *newmoduleptr;
-	void *modlistptr;        
+aix_bindnewmodule(void *newmoduleptr, void *modlistptr)
 {
 	register ModulePtr modptr;
 
@@ -131,8 +128,7 @@
 }
 
 static void
-aix_loaderror(pathname)
-	char *pathname;
+aix_loaderror(char *pathname)
 {
 
 	char *message[1024], errbuf[1024];
diff --git a/Python/errors.c b/Python/errors.c
index 2b6a863..24eeead 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -30,10 +30,7 @@
 #endif
 
 void
-PyErr_Restore(type, value, traceback)
-	PyObject *type;
-	PyObject *value;
-	PyObject *traceback;
+PyErr_Restore(PyObject *type, PyObject *value, PyObject *traceback)
 {
 	PyThreadState *tstate = PyThreadState_GET();
 	PyObject *oldtype, *oldvalue, *oldtraceback;
@@ -60,9 +57,7 @@
 }
 
 void
-PyErr_SetObject(exception, value)
-	PyObject *exception;
-	PyObject *value;
+PyErr_SetObject(PyObject *exception, PyObject *value)
 {
 	Py_XINCREF(exception);
 	Py_XINCREF(value);
@@ -70,16 +65,13 @@
 }
 
 void
-PyErr_SetNone(exception)
-	PyObject *exception;
+PyErr_SetNone(PyObject *exception)
 {
 	PyErr_SetObject(exception, (PyObject *)NULL);
 }
 
 void
-PyErr_SetString(exception, string)
-	PyObject *exception;
-	const char *string;
+PyErr_SetString(PyObject *exception, const char *string)
 {
 	PyObject *value = PyString_FromString(string);
 	PyErr_SetObject(exception, value);
@@ -88,7 +80,7 @@
 
 
 PyObject *
-PyErr_Occurred()
+PyErr_Occurred(void)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 
@@ -97,8 +89,7 @@
 
 
 int
-PyErr_GivenExceptionMatches(err, exc)
-     PyObject *err, *exc;
+PyErr_GivenExceptionMatches(PyObject *err, PyObject *exc)
 {
 	if (err == NULL || exc == NULL) {
 		/* maybe caused by "import exceptions" that failed early on */
@@ -129,8 +120,7 @@
 
 
 int
-PyErr_ExceptionMatches(exc)
-     PyObject *exc;
+PyErr_ExceptionMatches(PyObject *exc)
 {
 	return PyErr_GivenExceptionMatches(PyErr_Occurred(), exc);
 }
@@ -140,10 +130,7 @@
    eval_code2(), do_raise(), and PyErr_Print()
 */
 void
-PyErr_NormalizeException(exc, val, tb)
-     PyObject **exc;
-     PyObject **val;
-     PyObject **tb;
+PyErr_NormalizeException(PyObject **exc, PyObject **val, PyObject **tb)
 {
 	PyObject *type = *exc;
 	PyObject *value = *val;
@@ -213,10 +200,7 @@
 
 
 void
-PyErr_Fetch(p_type, p_value, p_traceback)
-	PyObject **p_type;
-	PyObject **p_value;
-	PyObject **p_traceback;
+PyErr_Fetch(PyObject **p_type, PyObject **p_value, PyObject **p_traceback)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 
@@ -230,7 +214,7 @@
 }
 
 void
-PyErr_Clear()
+PyErr_Clear(void)
 {
 	PyErr_Restore(NULL, NULL, NULL);
 }
@@ -238,7 +222,7 @@
 /* Convenience functions to set a type error exception and return 0 */
 
 int
-PyErr_BadArgument()
+PyErr_BadArgument(void)
 {
 	PyErr_SetString(PyExc_TypeError,
 			"illegal argument type for built-in operation");
@@ -246,7 +230,7 @@
 }
 
 PyObject *
-PyErr_NoMemory()
+PyErr_NoMemory(void)
 {
 	/* raise the pre-allocated instance if it still exists */
 	if (PyExc_MemoryErrorInst)
@@ -261,9 +245,7 @@
 }
 
 PyObject *
-PyErr_SetFromErrnoWithFilename(exc, filename)
-	PyObject *exc;
-	char *filename;
+PyErr_SetFromErrnoWithFilename(PyObject *exc, char *filename)
 {
 	PyObject *v;
 	char *s;
@@ -326,8 +308,7 @@
 
 
 PyObject *
-PyErr_SetFromErrno(exc)
-	PyObject *exc;
+PyErr_SetFromErrno(PyObject *exc)
 {
 	return PyErr_SetFromErrnoWithFilename(exc, NULL);
 }
@@ -335,7 +316,7 @@
 #ifdef MS_WINDOWS 
 /* Windows specific error code handling */
 PyObject *PyErr_SetFromWindowsErrWithFilename(
-	int ierr, 
+	int ierr,
 	const char *filename)
 {
 	int len;
@@ -378,32 +359,20 @@
 #endif /* MS_WINDOWS */
 
 void
-PyErr_BadInternalCall()
+PyErr_BadInternalCall(void)
 {
 	PyErr_SetString(PyExc_SystemError,
 			"bad argument to internal function");
 }
 
 
-#ifdef HAVE_STDARG_PROTOTYPES
 PyObject *
 PyErr_Format(PyObject *exception, const char *format, ...)
-#else
-PyObject *
-PyErr_Format(exception, format, va_alist)
-	PyObject *exception;
-	const char *format;
-	va_dcl
-#endif
 {
 	va_list vargs;
 	char buffer[500]; /* Caller is responsible for limiting the format */
 
-#ifdef HAVE_STDARG_PROTOTYPES
 	va_start(vargs, format);
-#else
-	va_start(vargs);
-#endif
 
 	vsprintf(buffer, format, vargs);
 	PyErr_SetString(exception, buffer);
@@ -412,10 +381,7 @@
 
 
 PyObject *
-PyErr_NewException(name, base, dict)
-	char *name; /* modulename.classname */
-	PyObject *base;
-	PyObject *dict;
+PyErr_NewException(char *name, PyObject *base, PyObject *dict)
 {
 	char *dot;
 	PyObject *modulename = NULL;
diff --git a/Python/frozenmain.c b/Python/frozenmain.c
index 2fb1c2e..f846c2d 100644
--- a/Python/frozenmain.c
+++ b/Python/frozenmain.c
@@ -30,9 +30,7 @@
 /* Main program */
 
 int
-Py_FrozenMain(argc, argv)
-	int argc;
-	char **argv;
+Py_FrozenMain(int argc, char **argv)
 {
 	char *p;
 	int n, sts;
diff --git a/Python/getargs.c b/Python/getargs.c
index 3ed65a3..f1835ba 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -43,54 +43,24 @@
 			    char *, char **, va_list *);
 static char *skipitem(char **, va_list *);
 
-#ifdef HAVE_STDARG_PROTOTYPES
-/* VARARGS2 */
 int PyArg_Parse(PyObject *args, char *format, ...)
-#else
-/* VARARGS */
-int PyArg_Parse(va_alist) va_dcl
-#endif
 {
 	int retval;
 	va_list va;
-#ifdef HAVE_STDARG_PROTOTYPES
 	
 	va_start(va, format);
-#else
-	PyObject *args;
-	char *format;
-	
-	va_start(va);
-	args = va_arg(va, PyObject *);
-	format = va_arg(va, char *);
-#endif
 	retval = vgetargs1(args, format, &va, 1);
 	va_end(va);
 	return retval;
 }
 
 
-#ifdef HAVE_STDARG_PROTOTYPES
-/* VARARGS2 */
 int PyArg_ParseTuple(PyObject *args, char *format, ...)
-#else
-/* VARARGS */
-int PyArg_ParseTuple(va_alist) va_dcl
-#endif
 {
 	int retval;
 	va_list va;
-#ifdef HAVE_STDARG_PROTOTYPES
 	
 	va_start(va, format);
-#else
-	PyObject *args;
-	char *format;
-	
-	va_start(va);
-	args = va_arg(va, PyObject *);
-	format = va_arg(va, char *);
-#endif
 	retval = vgetargs1(args, format, &va, 0);
 	va_end(va);
 	return retval;
@@ -98,10 +68,7 @@
 
 
 int
-PyArg_VaParse(args, format, va)
-	PyObject *args;
-	char *format;
-	va_list va;
+PyArg_VaParse(PyObject *args, char *format, va_list va)
 {
 	va_list lva;
 
@@ -116,11 +83,7 @@
 
 
 static int
-vgetargs1(args, format, p_va, compat)
-	PyObject *args;
-	char *format;
-	va_list *p_va;
-	int compat;
+vgetargs1(PyObject *args, char *format, va_list *p_va, int compat)
 {
 	char msgbuf[256];
 	int levels[32];
@@ -254,12 +217,7 @@
 
 
 static void
-seterror(iarg, msg, levels, fname, message)
-	int iarg;
-	char *msg;
-	int *levels;
-	char *fname;
-	char *message;
+seterror(int iarg, char *msg, int *levels, char *fname, char *message)
 {
 	char buf[256];
 	int i;
@@ -309,13 +267,8 @@
 */
 
 static char *
-converttuple(arg, p_format, p_va, levels, msgbuf, toplevel)
-	PyObject *arg;
-	char **p_format;
-	va_list *p_va;
-	int *levels;
-	char *msgbuf;
-	int toplevel;
+converttuple(PyObject *arg, char **p_format, va_list *p_va, int *levels,
+	     char *msgbuf, int toplevel)
 {
 	int level = 0;
 	int n = 0;
@@ -378,12 +331,8 @@
 /* Convert a single item. */
 
 static char *
-convertitem(arg, p_format, p_va, levels, msgbuf)
-	PyObject *arg;
-	char **p_format;
-	va_list *p_va;
-	int *levels;
-	char *msgbuf;
+convertitem(PyObject *arg, char **p_format, va_list *p_va, int *levels,
+	    char *msgbuf)
 {
 	char *msg;
 	char *format = *p_format;
@@ -409,11 +358,7 @@
    by appending ", <actual argument type>" to error message. */
 
 static char *
-convertsimple(arg, p_format, p_va, msgbuf)
-	PyObject *arg;
-	char **p_format;
-	va_list *p_va;
-	char *msgbuf;
+convertsimple(PyObject *arg, char **p_format, va_list *p_va, char *msgbuf)
 {
 	char *msg = convertsimple1(arg, p_format, p_va);
 	if (msg != NULL) {
@@ -436,10 +381,7 @@
    Don't call if a tuple is expected. */
 
 static char *
-convertsimple1(arg, p_format, p_va)
-	PyObject *arg;
-	char **p_format;
-	va_list *p_va;
+convertsimple1(PyObject *arg, char **p_format, va_list *p_va)
 {
 	char *format = *p_format;
 	char c = *format++;
@@ -961,34 +903,15 @@
 /* Support for keyword arguments donated by
    Geoff Philbrick <philbric@delphi.hks.com> */
 
-#ifdef HAVE_STDARG_PROTOTYPES
-/* VARARGS2 */
 int PyArg_ParseTupleAndKeywords(PyObject *args,
 				PyObject *keywords,
 				char *format, 
 				char **kwlist, ...)
-#else
-/* VARARGS */
-int PyArg_ParseTupleAndKeywords(va_alist) va_dcl
-#endif
 {
 	int retval;
 	va_list va;
-#ifdef HAVE_STDARG_PROTOTYPES
 	
 	va_start(va, kwlist);
-#else
-	PyObject *args;
-	PyObject *keywords;
-	char *format;
-	char **kwlist;
-	
-	va_start(va);
-	args = va_arg(va, PyObject *);
-	keywords = va_arg(va, PyObject *);
-	format = va_arg(va, char *);
-	kwlist = va_arg(va, char **);
-#endif
 	retval = vgetargskeywords(args, keywords, format, kwlist, &va);	
 	va_end(va);
 	return retval;
@@ -996,12 +919,8 @@
 
 
 static int
-vgetargskeywords(args, keywords, format, kwlist, p_va)
-	PyObject *args;
-	PyObject *keywords;
-	char *format;
-	char **kwlist;
-	va_list *p_va;
+vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
+	         char **kwlist, va_list *p_va)
 {
 	char msgbuf[256];
 	int levels[32];
@@ -1204,9 +1123,7 @@
 
 
 static char *
-skipitem(p_format, p_va)
-	char **p_format;
-	va_list *p_va;
+skipitem(char **p_format, va_list *p_va)
 {
 	char *format = *p_format;
 	char c = *format++;
diff --git a/Python/getcompiler.c b/Python/getcompiler.c
index 9ceb738..fc19e4c 100644
--- a/Python/getcompiler.c
+++ b/Python/getcompiler.c
@@ -31,7 +31,7 @@
 #endif /* !COMPILER */
 
 const char *
-Py_GetCompiler()
+Py_GetCompiler(void)
 {
 	return COMPILER;
 }
diff --git a/Python/getcopyright.c b/Python/getcopyright.c
index e5839cc..6248334 100644
--- a/Python/getcopyright.c
+++ b/Python/getcopyright.c
@@ -23,7 +23,7 @@
 Copyright 1995-2000 Corporation for National Research Initiatives (CNRI)";
 
 const char *
-Py_GetCopyright()
+Py_GetCopyright(void)
 {
 	return cprt;
 }
diff --git a/Python/getcwd.c b/Python/getcwd.c
index 7646d83..ad9eb17 100644
--- a/Python/getcwd.c
+++ b/Python/getcwd.c
@@ -26,12 +26,10 @@
 #define MAXPATHLEN 1024
 #endif
 
-extern char *getwd();
+extern char *getwd(char *);
 
 char *
-getcwd(buf, size)
-	char *buf;
-	int size;
+getcwd(char *buf, int size)
 {
 	char localbuf[MAXPATHLEN+1];
 	char *ret;
@@ -62,9 +60,7 @@
 #endif
 
 char *
-getcwd(buf, size)
-	char *buf;
-	int size;
+getcwd(char *buf, int size)
 {
 	FILE *fp;
 	char *p;
diff --git a/Python/getmtime.c b/Python/getmtime.c
index 80fe7b5..8bae191 100644
--- a/Python/getmtime.c
+++ b/Python/getmtime.c
@@ -26,9 +26,7 @@
 #endif
 
 time_t
-PyOS_GetLastModificationTime(path, fp)
-	char *path;
-	FILE *fp;
+PyOS_GetLastModificationTime(char *path, FILE *fp)
 {
 	struct stat st;
 	if (fstat(fileno(fp), &st) != 0)
diff --git a/Python/getopt.c b/Python/getopt.c
index c5a3f62..8af67fa 100644
--- a/Python/getopt.c
+++ b/Python/getopt.c
@@ -41,12 +41,9 @@
 
 
 #ifndef __BEOS__
-int getopt(argc,argv,optstring)
-int argc; 
-char *argv[]; 
-char optstring[];
+int getopt(int argc, char *argv[], char optstring[])
 #else
-int getopt( int argc, char *const *argv, const char *optstring )
+int getopt(int argc, char *const *argv, const char *optstring)
 #endif
 {
 	static   char *opt_ptr = "";
diff --git a/Python/getplatform.c b/Python/getplatform.c
index b8e89ef..9830917 100644
--- a/Python/getplatform.c
+++ b/Python/getplatform.c
@@ -15,7 +15,7 @@
 #endif
 
 const char *
-Py_GetPlatform()
+Py_GetPlatform(void)
 {
 	return PLATFORM;
 }
diff --git a/Python/getversion.c b/Python/getversion.c
index bc235aa..7e0ff0e 100644
--- a/Python/getversion.c
+++ b/Python/getversion.c
@@ -15,7 +15,7 @@
 #include "patchlevel.h"
 
 const char *
-Py_GetVersion()
+Py_GetVersion(void)
 {
 	static char version[250];
 	sprintf(version, "%.80s (%.80s) %.80s", PY_VERSION,
diff --git a/Python/hypot.c b/Python/hypot.c
index 293aeb8..b21deea 100644
--- a/Python/hypot.c
+++ b/Python/hypot.c
@@ -4,9 +4,7 @@
 #include "myproto.h"
 #include "mymath.h"
 
-double hypot(x, y)
-	double x;
-	double y;
+double hypot(double x, double y)
 {
 	double yx;
 
diff --git a/Python/import.c b/Python/import.c
index 99c811f..959474a 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -55,7 +55,8 @@
 #endif
 
 
-extern time_t PyOS_GetLastModificationTime(); /* In getmtime.c */
+extern time_t PyOS_GetLastModificationTime(char *, FILE *);
+						/* In getmtime.c */
 
 /* Magic word to reject .pyc files generated by other Python versions */
 /* Change for each incompatible change */
@@ -65,7 +66,7 @@
 /* XXX Perhaps the magic number should be frozen and a version field
    added to the .pyc file header? */
 /* New way to come up with the magic number: (YEAR-1995), MONTH, DAY */
-#define MAGIC (50428 | ((long)'\r'<<16) | ((long)'\n'<<24))
+#define MAGIC (50715 | ((long)'\r'<<16) | ((long)'\n'<<24))
 
 /* Magic word as global; note that _PyImport_Init() can change the
    value of this global to accommodate for alterations of how the
@@ -91,7 +92,7 @@
 /* Initialize things */
 
 void
-_PyImport_Init()
+_PyImport_Init(void)
 {
 	const struct filedescr *scan;
 	struct filedescr *filetab;
@@ -131,7 +132,7 @@
 }
 
 void
-_PyImport_Fini()
+_PyImport_Fini(void)
 {
 	Py_XDECREF(extensions);
 	extensions = NULL;
@@ -151,7 +152,7 @@
 static int import_lock_level = 0;
 
 static void
-lock_import()
+lock_import(void)
 {
 	long me = PyThread_get_thread_ident();
 	if (me == -1)
@@ -172,7 +173,7 @@
 }
 
 static void
-unlock_import()
+unlock_import(void)
 {
 	long me = PyThread_get_thread_ident();
 	if (me == -1)
@@ -196,7 +197,7 @@
 /* Helper for sys */
 
 PyObject *
-PyImport_GetModuleDict()
+PyImport_GetModuleDict(void)
 {
 	PyInterpreterState *interp = PyThreadState_Get()->interp;
 	if (interp->modules == NULL)
@@ -224,7 +225,7 @@
 /* Un-initialize things, as good as we can */
 
 void
-PyImport_Cleanup()
+PyImport_Cleanup(void)
 {
 	int pos, ndone;
 	char *name;
@@ -357,7 +358,7 @@
 /* Helper for pythonrun.c -- return magic number */
 
 long
-PyImport_GetMagicNumber()
+PyImport_GetMagicNumber(void)
 {
 	return pyc_magic;
 }
@@ -374,9 +375,7 @@
    _PyImport_FindExtension(). */
 
 PyObject *
-_PyImport_FixupExtension(name, filename)
-	char *name;
-	char *filename;
+_PyImport_FixupExtension(char *name, char *filename)
 {
 	PyObject *modules, *mod, *dict, *copy;
 	if (extensions == NULL) {
@@ -403,9 +402,7 @@
 }
 
 PyObject *
-_PyImport_FindExtension(name, filename)
-	char *name;
-	char *filename;
+_PyImport_FindExtension(char *name, char *filename)
 {
 	PyObject *dict, *mod, *mdict, *result;
 	if (extensions == NULL)
@@ -437,8 +434,7 @@
    'NEW' REFERENCE! */
 
 PyObject *
-PyImport_AddModule(name)
-	char *name;
+PyImport_AddModule(char *name)
 {
 	PyObject *modules = PyImport_GetModuleDict();
 	PyObject *m;
@@ -463,18 +459,13 @@
    WITH INCREMENTED REFERENCE COUNT */
 
 PyObject *
-PyImport_ExecCodeModule(name, co)
-	char *name;
-	PyObject *co;
+PyImport_ExecCodeModule(char *name, PyObject *co)
 {
 	return PyImport_ExecCodeModuleEx(name, co, (char *)NULL);
 }
 
 PyObject *
-PyImport_ExecCodeModuleEx(name, co, pathname)
-	char *name;
-	PyObject *co;
-	char *pathname;
+PyImport_ExecCodeModuleEx(char *name, PyObject *co, char *pathname)
 {
 	PyObject *modules = PyImport_GetModuleDict();
 	PyObject *m, *d, *v;
@@ -527,10 +518,7 @@
    Doesn't set an exception. */
 
 static char *
-make_compiled_pathname(pathname, buf, buflen)
-	char *pathname;
-	char *buf;
-	size_t buflen;
+make_compiled_pathname(char *pathname, char *buf, size_t buflen)
 {
 	size_t len;
 
@@ -552,10 +540,7 @@
    Doesn't set an exception. */
 
 static FILE *
-check_compiled_module(pathname, mtime, cpathname)
-	char *pathname;
-	long mtime;
-	char *cpathname;
+check_compiled_module(char *pathname, long mtime, char *cpathname)
 {
 	FILE *fp;
 	long magic;
@@ -587,9 +572,7 @@
 /* Read a code object from a file and check it for validity */
 
 static PyCodeObject *
-read_compiled_module(cpathname, fp)
-	char *cpathname;
-	FILE *fp;
+read_compiled_module(char *cpathname, FILE *fp)
 {
 	PyObject *co;
 
@@ -610,10 +593,7 @@
    module object WITH INCREMENTED REFERENCE COUNT */
 
 static PyObject *
-load_compiled_module(name, cpathname, fp)
-	char *name;
-	char *cpathname;
-	FILE *fp;
+load_compiled_module(char *name, char *cpathname, FILE *fp)
 {
 	long magic;
 	PyCodeObject *co;
@@ -641,9 +621,7 @@
 /* Parse a source file and return the corresponding code object */
 
 static PyCodeObject *
-parse_source_module(pathname, fp)
-	char *pathname;
-	FILE *fp;
+parse_source_module(char *pathname, FILE *fp)
 {
 	PyCodeObject *co;
 	node *n;
@@ -664,10 +642,7 @@
    remove the file. */
 
 static void
-write_compiled_module(co, cpathname, mtime)
-	PyCodeObject *co;
-	char *cpathname;
-	long mtime;
+write_compiled_module(PyCodeObject *co, char *cpathname, long mtime)
 {
 	FILE *fp;
 
@@ -708,10 +683,7 @@
    byte-compiled file, use that instead. */
 
 static PyObject *
-load_source_module(name, pathname, fp)
-	char *name;
-	char *pathname;
-	FILE *fp;
+load_source_module(char *name, char *pathname, FILE *fp)
 {
 	time_t mtime;
 	FILE *fpc;
@@ -772,9 +744,7 @@
    REFERENCE COUNT */
 
 static PyObject *
-load_package(name, pathname)
-	char *name;
-	char *pathname;
+load_package(char *name, char *pathname)
 {
 	PyObject *m, *d, *file, *path;
 	int err;
@@ -827,8 +797,7 @@
 /* Helper to test for built-in module */
 
 static int
-is_builtin(name)
-	char *name;
+is_builtin(char *name)
 {
 	int i;
 	for (i = 0; PyImport_Inittab[i].name != NULL; i++) {
@@ -858,13 +827,8 @@
 static int find_init_module(char *); /* Forward */
 
 static struct filedescr *
-find_module(realname, path, buf, buflen, p_fp)
-	char *realname;
-	PyObject *path;
-	/* Output parameters: */
-	char *buf;
-	size_t buflen;
-	FILE **p_fp;
+find_module(char *realname, PyObject *path, char *buf, size_t buflen,
+	    FILE **p_fp)
 {
 	int i, npath;
 	size_t len, namelen;
@@ -1037,8 +1001,7 @@
 #include <ctype.h>
 
 static int
-allcaps8x3(s)
-	char *s;
+allcaps8x3(char *s)
 {
 	/* Return 1 if s is an 8.3 filename in ALLCAPS */
 	char c;
@@ -1176,8 +1139,7 @@
 #ifdef HAVE_STAT
 /* Helper to look for __init__.py or __init__.py[co] in potential package */
 static int
-find_init_module(buf)
-	char *buf;
+find_init_module(char *buf)
 {
 	size_t save_len = strlen(buf);
 	size_t i = save_len;
@@ -1212,11 +1174,7 @@
    its module object WITH INCREMENTED REFERENCE COUNT */
 
 static PyObject *
-load_module(name, fp, buf, type)
-	char *name;
-	FILE *fp;
-	char *buf;
-	int type;
+load_module(char *name, FILE *fp, char *buf, int type)
 {
 	PyObject *modules;
 	PyObject *m;
@@ -1312,8 +1270,7 @@
    an exception set if the initialization failed. */
 
 static int
-init_builtin(name)
-	char *name;
+init_builtin(char *name)
 {
 	struct _inittab *p;
 	PyObject *mod;
@@ -1346,8 +1303,7 @@
 /* Frozen modules */
 
 static struct _frozen *
-find_frozen(name)
-	char *name;
+find_frozen(char *name)
 {
 	struct _frozen *p;
 
@@ -1361,8 +1317,7 @@
 }
 
 static PyObject *
-get_frozen_object(name)
-	char *name;
+get_frozen_object(char *name)
 {
 	struct _frozen *p = find_frozen(name);
 	int size;
@@ -1385,8 +1340,7 @@
    This function is also used from frozenmain.c */
 
 int
-PyImport_ImportFrozenModule(name)
-	char *name;
+PyImport_ImportFrozenModule(char *name)
 {
 	struct _frozen *p = find_frozen(name);
 	PyObject *co;
@@ -1442,8 +1396,7 @@
    its module object WITH INCREMENTED REFERENCE COUNT */
 
 PyObject *
-PyImport_ImportModule(name)
-	char *name;
+PyImport_ImportModule(char *name)
 {
 	static PyObject *fromlist = NULL;
 	if (fromlist == NULL && strchr(name, '.') != NULL) {
@@ -1466,11 +1419,8 @@
 /* The Magnum Opus of dotted-name import :-) */
 
 static PyObject *
-import_module_ex(name, globals, locals, fromlist)
-	char *name;
-	PyObject *globals;
-	PyObject *locals;
-	PyObject *fromlist;
+import_module_ex(char *name, PyObject *globals, PyObject *locals,
+		 PyObject *fromlist)
 {
 	char buf[MAXPATHLEN+1];
 	int buflen = 0;
@@ -1516,11 +1466,8 @@
 }
 
 PyObject *
-PyImport_ImportModuleEx(name, globals, locals, fromlist)
-	char *name;
-	PyObject *globals;
-	PyObject *locals;
-	PyObject *fromlist;
+PyImport_ImportModuleEx(char *name, PyObject *globals, PyObject *locals,
+			PyObject *fromlist)
 {
 	PyObject *result;
 	lock_import();
@@ -1530,10 +1477,7 @@
 }
 
 static PyObject *
-get_parent(globals, buf, p_buflen)
-	PyObject *globals;
-	char *buf;
-	int *p_buflen;
+get_parent(PyObject *globals, char *buf, int *p_buflen)
 {
 	static PyObject *namestr = NULL;
 	static PyObject *pathstr = NULL;
@@ -1598,13 +1542,10 @@
 	   If this is violated...  Who cares? */
 }
 
+/* altmod is either None or same as mod */
 static PyObject *
-load_next(mod, altmod, p_name, buf, p_buflen)
-	PyObject *mod;
-	PyObject *altmod; /* Either None or same as mod */
-	char **p_name;
-	char *buf;
-	int *p_buflen;
+load_next(PyObject *mod, PyObject *altmod, char **p_name, char *buf,
+	  int *p_buflen)
 {
 	char *name = *p_name;
 	char *dot = strchr(name, '.');
@@ -1667,20 +1608,15 @@
 }
 
 static int
-mark_miss(name)
-	char *name;
+mark_miss(char *name)
 {
 	PyObject *modules = PyImport_GetModuleDict();
 	return PyDict_SetItemString(modules, name, Py_None);
 }
 
 static int
-ensure_fromlist(mod, fromlist, buf, buflen, recursive)
-	PyObject *mod;
-	PyObject *fromlist;
-	char *buf;
-	int buflen;
-	int recursive;
+ensure_fromlist(PyObject *mod, PyObject *fromlist, char *buf, int buflen,
+		int recursive)
 {
 	int i;
 
@@ -1747,10 +1683,7 @@
 }
 
 static PyObject *
-import_submodule(mod, subname, fullname)
-	PyObject *mod; /* May be None */
-	char *subname;
-	char *fullname;
+import_submodule(PyObject *mod, char *subname, char *fullname)
 {
 	PyObject *modules = PyImport_GetModuleDict();
 	PyObject *m;
@@ -1809,8 +1742,7 @@
    INCREMENTED REFERENCE COUNT */
 
 PyObject *
-PyImport_ReloadModule(m)
-	PyObject *m;
+PyImport_ReloadModule(PyObject *m)
 {
 	PyObject *modules = PyImport_GetModuleDict();
 	PyObject *path = NULL;
@@ -1876,8 +1808,7 @@
    will return <module "gencache"> instead of <module "win32com">. */
 
 PyObject *
-PyImport_Import(module_name)
-	PyObject *module_name;
+PyImport_Import(PyObject *module_name)
 {
 	static PyObject *silly_list = NULL;
 	static PyObject *builtins_str = NULL;
@@ -1953,9 +1884,7 @@
 */
 
 static PyObject *
-imp_get_magic(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_get_magic(PyObject *self, PyObject *args)
 {
 	char buf[4];
 
@@ -1970,9 +1899,7 @@
 }
 
 static PyObject *
-imp_get_suffixes(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_get_suffixes(PyObject *self, PyObject *args)
 {
 	PyObject *list;
 	struct filedescr *fdp;
@@ -2000,9 +1927,7 @@
 }
 
 static PyObject *
-call_find_module(name, path)
-	char *name;
-	PyObject *path; /* list or None or NULL */
+call_find_module(char *name, PyObject *path)
 {
 	extern int fclose(FILE *);
 	PyObject *fob, *ret;
@@ -2034,9 +1959,7 @@
 }
 
 static PyObject *
-imp_find_module(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_find_module(PyObject *self, PyObject *args)
 {
 	char *name;
 	PyObject *path = NULL;
@@ -2046,9 +1969,7 @@
 }
 
 static PyObject *
-imp_init_builtin(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_init_builtin(PyObject *self, PyObject *args)
 {
 	char *name;
 	int ret;
@@ -2068,9 +1989,7 @@
 }
 
 static PyObject *
-imp_init_frozen(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_init_frozen(PyObject *self, PyObject *args)
 {
 	char *name;
 	int ret;
@@ -2090,9 +2009,7 @@
 }
 
 static PyObject *
-imp_get_frozen_object(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_get_frozen_object(PyObject *self, PyObject *args)
 {
 	char *name;
 
@@ -2102,9 +2019,7 @@
 }
 
 static PyObject *
-imp_is_builtin(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_is_builtin(PyObject *self, PyObject *args)
 {
 	char *name;
 	if (!PyArg_ParseTuple(args, "s:is_builtin", &name))
@@ -2113,9 +2028,7 @@
 }
 
 static PyObject *
-imp_is_frozen(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_is_frozen(PyObject *self, PyObject *args)
 {
 	char *name;
 	struct _frozen *p;
@@ -2126,10 +2039,7 @@
 }
 
 static FILE *
-get_file(pathname, fob, mode)
-	char *pathname;
-	PyObject *fob;
-	char *mode;
+get_file(char *pathname, PyObject *fob, char *mode)
 {
 	FILE *fp;
 	if (fob == NULL) {
@@ -2147,9 +2057,7 @@
 }
 
 static PyObject *
-imp_load_compiled(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_load_compiled(PyObject *self, PyObject *args)
 {
 	char *name;
 	char *pathname;
@@ -2171,9 +2079,7 @@
 #ifdef HAVE_DYNAMIC_LOADING
 
 static PyObject *
-imp_load_dynamic(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_load_dynamic(PyObject *self, PyObject *args)
 {
 	char *name;
 	char *pathname;
@@ -2195,9 +2101,7 @@
 #endif /* HAVE_DYNAMIC_LOADING */
 
 static PyObject *
-imp_load_source(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_load_source(PyObject *self, PyObject *args)
 {
 	char *name;
 	char *pathname;
@@ -2218,9 +2122,7 @@
 
 #ifdef macintosh
 static PyObject *
-imp_load_resource(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_load_resource(PyObject *self, PyObject *args)
 {
 	char *name;
 	char *pathname;
@@ -2234,9 +2136,7 @@
 #endif /* macintosh */
 
 static PyObject *
-imp_load_module(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_load_module(PyObject *self, PyObject *args)
 {
 	char *name;
 	PyObject *fob;
@@ -2271,9 +2171,7 @@
 }
 
 static PyObject *
-imp_load_package(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_load_package(PyObject *self, PyObject *args)
 {
 	char *name;
 	char *pathname;
@@ -2283,9 +2181,7 @@
 }
 
 static PyObject *
-imp_new_module(self, args)
-	PyObject *self;
-	PyObject *args;
+imp_new_module(PyObject *self, PyObject *args)
 {
 	char *name;
 	if (!PyArg_ParseTuple(args, "s:new_module", &name))
@@ -2356,10 +2252,7 @@
 };
 
 static int
-setint(d, name, value)
-	PyObject *d;
-	char *name;
-	int value;
+setint(PyObject *d, char *name, int value)
 {
 	PyObject *v;
 	int err;
@@ -2371,7 +2264,7 @@
 }
 
 void
-initimp()
+initimp(void)
 {
 	PyObject *m, *d;
 
@@ -2402,8 +2295,7 @@
    After a similar function by Just van Rossum. */
 
 int
-PyImport_ExtendInittab(newtab)
-	struct _inittab *newtab;
+PyImport_ExtendInittab(struct _inittab *newtab)
 {
 	static struct _inittab *our_copy = NULL;
 	struct _inittab *p;
@@ -2435,9 +2327,7 @@
 /* Shorthand to add a single entry given a name and a function */
 
 int
-PyImport_AppendInittab(name, initfunc)
-	char *name;
-	void (*initfunc)();
+PyImport_AppendInittab(char *name, void (*initfunc)(void))
 {
 	struct _inittab newtab[2];
 
diff --git a/Python/importdl.c b/Python/importdl.c
index 8a7517e..42bf5b4 100644
--- a/Python/importdl.c
+++ b/Python/importdl.c
@@ -28,10 +28,7 @@
 
 
 PyObject *
-_PyImport_LoadDynamicModule(name, pathname, fp)
-	char *name;
-	char *pathname;
-	FILE *fp;
+_PyImport_LoadDynamicModule(char *name, char *pathname, FILE *fp)
 {
 	PyObject *m, *d, *s;
 	char *lastdot, *shortname, *packagecontext;
diff --git a/Python/marshal.c b/Python/marshal.c
index 78fe624..064604f 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -55,9 +55,7 @@
 			   else w_more(c, p)
 
 static void
-w_more(c, p)
-	char c;
-	WFILE *p;
+w_more(char c, WFILE *p)
 {
 	int size, newsize;
 	if (p->str == NULL)
@@ -76,10 +74,7 @@
 }
 
 static void
-w_string(s, n, p)
-	char *s;
-	int n;
-	WFILE *p;
+w_string(char *s, int n, WFILE *p)
 {
 	if (p->fp != NULL) {
 		fwrite(s, 1, n, p->fp);
@@ -93,18 +88,14 @@
 }
 
 static void
-w_short(x, p)
-	int x;
-	WFILE *p;
+w_short(int x, WFILE *p)
 {
 	w_byte( x      & 0xff, p);
 	w_byte((x>> 8) & 0xff, p);
 }
 
 static void
-w_long(x, p)
-	long x;
-	WFILE *p;
+w_long(long x, WFILE *p)
 {
 	w_byte((int)( x      & 0xff), p);
 	w_byte((int)((x>> 8) & 0xff), p);
@@ -114,9 +105,7 @@
 
 #if SIZEOF_LONG > 4
 static void
-w_long64(x, p)
-	long x;
-	WFILE *p;
+w_long64(long x, WFILE *p)
 {
 	w_long(x, p);
 	w_long(x>>32, p);
@@ -124,9 +113,7 @@
 #endif
 
 static void
-w_object(v, p)
-	PyObject *v;
-	WFILE *p;
+w_object(PyObject *v, WFILE *p)
 {
 	int i, n;
 	PyBufferProcs *pb;
@@ -286,9 +273,7 @@
 }
 
 void
-PyMarshal_WriteLongToFile(x, fp)
-	long x;
-	FILE *fp;
+PyMarshal_WriteLongToFile(long x, FILE *fp)
 {
 	WFILE wf;
 	wf.fp = fp;
@@ -298,9 +283,7 @@
 }
 
 void
-PyMarshal_WriteObjectToFile(x, fp)
-	PyObject *x;
-	FILE *fp;
+PyMarshal_WriteObjectToFile(PyObject *x, FILE *fp)
 {
 	WFILE wf;
 	wf.fp = fp;
@@ -316,10 +299,7 @@
 #define r_byte(p) ((p)->fp ? getc((p)->fp) : rs_byte(p))
 
 static int
-r_string(s, n, p)
-	char *s;
-	int n;
-	RFILE *p;
+r_string(char *s, int n, RFILE *p)
 {
 	if (p->fp != NULL)
 		return fread(s, 1, n, p->fp);
@@ -331,8 +311,7 @@
 }
 
 static int
-r_short(p)
-	RFILE *p;
+r_short(RFILE *p)
 {
 	register short x;
 	x = r_byte(p);
@@ -342,8 +321,7 @@
 }
 
 static long
-r_long(p)
-	RFILE *p;
+r_long(RFILE *p)
 {
 	register long x;
 	register FILE *fp = p->fp;
@@ -368,8 +346,7 @@
 }
 
 static long
-r_long64(p)
-	RFILE *p;
+r_long64(RFILE *p)
 {
 	register long x;
 	x = r_long(p);
@@ -388,8 +365,7 @@
 }
 
 static PyObject *
-r_object(p)
-	RFILE *p;
+r_object(RFILE *p)
 {
 	PyObject *v, *v2;
 	long i, n;
@@ -634,8 +610,7 @@
 }
 
 long
-PyMarshal_ReadLongFromFile(fp)
-	FILE *fp;
+PyMarshal_ReadLongFromFile(FILE *fp)
 {
 	RFILE rf;
 	rf.fp = fp;
@@ -643,8 +618,7 @@
 }
 
 PyObject *
-PyMarshal_ReadObjectFromFile(fp)
-	FILE *fp;
+PyMarshal_ReadObjectFromFile(FILE *fp)
 {
 	RFILE rf;
 	if (PyErr_Occurred()) {
@@ -656,9 +630,7 @@
 }
 
 PyObject *
-PyMarshal_ReadObjectFromString(str, len)
-	char *str;
-	int len;
+PyMarshal_ReadObjectFromString(char *str, int len)
 {
 	RFILE rf;
 	if (PyErr_Occurred()) {
@@ -673,8 +645,7 @@
 }
 
 PyObject *
-PyMarshal_WriteObjectToString(x) /* wrs_object() */
-	PyObject *x;
+PyMarshal_WriteObjectToString(PyObject *x) /* wrs_object() */
 {
 	WFILE wf;
 	wf.fp = NULL;
@@ -703,9 +674,7 @@
 /* And an interface for Python programs... */
 
 static PyObject *
-marshal_dump(self, args)
-	PyObject *self;
-	PyObject *args;
+marshal_dump(PyObject *self, PyObject *args)
 {
 	WFILE wf;
 	PyObject *x;
@@ -734,9 +703,7 @@
 }
 
 static PyObject *
-marshal_load(self, args)
-	PyObject *self;
-	PyObject *args;
+marshal_load(PyObject *self, PyObject *args)
 {
 	RFILE rf;
 	PyObject *f;
@@ -761,9 +728,7 @@
 }
 
 static PyObject *
-marshal_dumps(self, args)
-	PyObject *self;
-	PyObject *args;
+marshal_dumps(PyObject *self, PyObject *args)
 {
 	PyObject *x;
 	if (!PyArg_ParseTuple(args, "O:dumps", &x))
@@ -772,9 +737,7 @@
 }
 
 static PyObject *
-marshal_loads(self, args)
-	PyObject *self;
-	PyObject *args;
+marshal_loads(PyObject *self, PyObject *args)
 {
 	RFILE rf;
 	PyObject *v;
@@ -804,7 +767,7 @@
 };
 
 void
-PyMarshal_Init()
+PyMarshal_Init(void)
 {
 	(void) Py_InitModule("marshal", marshal_methods);
 }
diff --git a/Python/memmove.c b/Python/memmove.c
index 267cf56..f44bf04 100644
--- a/Python/memmove.c
+++ b/Python/memmove.c
@@ -10,13 +10,10 @@
 
 /* A perhaps slow but I hope correct implementation of memmove */
 
-extern char *memcpy();
+extern char *memcpy(char *, char *, int);
 
 char *
-memmove(dst, src, n)
-	char *dst;
-	char *src;
-	int n;
+memmove(char *dst, char *src, int n)
 {
 	char *realdst = dst;
 	if (n <= 0)
diff --git a/Python/modsupport.c b/Python/modsupport.c
index 4a4dc1b..7dbfe1c 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -42,12 +42,8 @@
   This Python has API version %d, module %s has version %d.\n";
 
 PyObject *
-Py_InitModule4(name, methods, doc, passthrough, module_api_version)
-	char *name;
-	PyMethodDef *methods;
-	char *doc;
-	PyObject *passthrough;
-	int module_api_version;
+Py_InitModule4(char *name, PyMethodDef *methods, char *doc,
+	       PyObject *passthrough, int module_api_version)
 {
 	PyObject *m, *d, *v;
 	PyMethodDef *ml;
@@ -84,10 +80,7 @@
 
 /* Helper for mkvalue() to scan the length of a format */
 
-static int countformat(char *format, int endchar);
-static int countformat(format, endchar)
-	char *format;
-	int endchar;
+static int countformat(char *format, int endchar)
 {
 	int count = 0;
 	int level = 0;
@@ -137,11 +130,7 @@
 
 
 static PyObject *
-do_mkdict(p_format, p_va, endchar, n)
-	char **p_format;
-	va_list *p_va;
-	int endchar;
-	int n;
+do_mkdict(char **p_format, va_list *p_va, int endchar, int n)
 {
 	PyObject *d;
 	int i;
@@ -183,11 +172,7 @@
 }
 
 static PyObject *
-do_mklist(p_format, p_va, endchar, n)
-	char **p_format;
-	va_list *p_va;
-	int endchar;
-	int n;
+do_mklist(char **p_format, va_list *p_va, int endchar, int n)
 {
 	PyObject *v;
 	int i;
@@ -224,11 +209,7 @@
 }
 
 static PyObject *
-do_mktuple(p_format, p_va, endchar, n)
-	char **p_format;
-	va_list *p_va;
-	int endchar;
-	int n;
+do_mktuple(char **p_format, va_list *p_va, int endchar, int n)
 {
 	PyObject *v;
 	int i;
@@ -256,9 +237,7 @@
 }
 
 static PyObject *
-do_mkvalue(p_format, p_va)
-	char **p_format;
-	va_list *p_va;
+do_mkvalue(char **p_format, va_list *p_va)
 {
 	for (;;) {
 		switch (*(*p_format)++) {
@@ -401,32 +380,18 @@
 }
 
 
-#ifdef HAVE_STDARG_PROTOTYPES
-/* VARARGS 2 */
 PyObject *Py_BuildValue(char *format, ...)
-#else
-/* VARARGS */
-PyObject *Py_BuildValue(va_alist) va_dcl
-#endif
 {
 	va_list va;
 	PyObject* retval;
-#ifdef HAVE_STDARG_PROTOTYPES
 	va_start(va, format);
-#else
-	char *format;
-	va_start(va);
-	format = va_arg(va, char *);
-#endif
 	retval = Py_VaBuildValue(format, va);
 	va_end(va);
 	return retval;
 }
 
 PyObject *
-Py_VaBuildValue(format, va)
-	char *format;
-	va_list va;
+Py_VaBuildValue(char *format, va_list va)
 {
 	char *f = format;
 	int n = countformat(f, '\0');
@@ -450,26 +415,14 @@
 }
 
 
-#ifdef HAVE_STDARG_PROTOTYPES
 PyObject *
 PyEval_CallFunction(PyObject *obj, char *format, ...)
-#else
-PyObject *
-PyEval_CallFunction(obj, format, va_alist)
-	PyObject *obj;
-	char *format;
-	va_dcl
-#endif
 {
 	va_list vargs;
 	PyObject *args;
 	PyObject *res;
 
-#ifdef HAVE_STDARG_PROTOTYPES
 	va_start(vargs, format);
-#else
-	va_start(vargs);
-#endif
 
 	args = Py_VaBuildValue(format, vargs);
 	va_end(vargs);
@@ -484,17 +437,8 @@
 }
 
 
-#ifdef HAVE_STDARG_PROTOTYPES
 PyObject *
 PyEval_CallMethod(PyObject *obj, char *methodname, char *format, ...)
-#else
-PyObject *
-PyEval_CallMethod(obj, methodname, format, va_alist)
-	PyObject *obj;
-	char *methodname;
-	char *format;
-	va_dcl
-#endif
 {
 	va_list vargs;
 	PyObject *meth;
@@ -505,11 +449,7 @@
 	if (meth == NULL)
 		return NULL;
 
-#ifdef HAVE_STDARG_PROTOTYPES
 	va_start(vargs, format);
-#else
-	va_start(vargs);
-#endif
 
 	args = Py_VaBuildValue(format, vargs);
 	va_end(vargs);
diff --git a/Python/mystrtoul.c b/Python/mystrtoul.c
index f785c51..29728e5 100644
--- a/Python/mystrtoul.c
+++ b/Python/mystrtoul.c
@@ -44,10 +44,7 @@
 #endif
 
 unsigned long
-PyOS_strtoul(str, ptr, base)
-register char *	str;
-char **		ptr;
-int		base;
+PyOS_strtoul(register char *str, char **ptr, int base)
 {
     register unsigned long	result;	/* return value of the function */
     register int		c;	/* current input character */
@@ -137,10 +134,7 @@
 }
 
 long
-PyOS_strtol(str, ptr, base)
-char *	str;
-char ** ptr;
-int	base;
+PyOS_strtol(char *str, char **ptr, int base)
 {
 	long result;
 	char sign;
diff --git a/Python/pyfpe.c b/Python/pyfpe.c
index 6284c63..77f2dea 100644
--- a/Python/pyfpe.c
+++ b/Python/pyfpe.c
@@ -17,8 +17,7 @@
    warning when compiling an empty file. */
 
 double
-PyFPE_dummy(dummy)
-	void *dummy;
+PyFPE_dummy(void *dummy)
 {
 	return 1.0;
 }
diff --git a/Python/pystate.c b/Python/pystate.c
index 34d913b..b9dee6e 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -37,7 +37,7 @@
 
 
 PyInterpreterState *
-PyInterpreterState_New()
+PyInterpreterState_New(void)
 {
 	PyInterpreterState *interp = PyMem_NEW(PyInterpreterState, 1);
 
@@ -58,8 +58,7 @@
 
 
 void
-PyInterpreterState_Clear(interp)
-	PyInterpreterState *interp;
+PyInterpreterState_Clear(PyInterpreterState *interp)
 {
 	PyThreadState *p;
 	HEAD_LOCK();
@@ -73,8 +72,7 @@
 
 
 static void
-zapthreads(interp)
-	PyInterpreterState *interp;
+zapthreads(PyInterpreterState *interp)
 {
 	PyThreadState *p;
 	/* No need to lock the mutex here because this should only happen
@@ -86,8 +84,7 @@
 
 
 void
-PyInterpreterState_Delete(interp)
-	PyInterpreterState *interp;
+PyInterpreterState_Delete(PyInterpreterState *interp)
 {
 	PyInterpreterState **p;
 	zapthreads(interp);
@@ -106,8 +103,7 @@
 
 
 PyThreadState *
-PyThreadState_New(interp)
-	PyInterpreterState *interp;
+PyThreadState_New(PyInterpreterState *interp)
 {
 	PyThreadState *tstate = PyMem_NEW(PyThreadState, 1);
 
@@ -143,8 +139,7 @@
 
 
 void
-PyThreadState_Clear(tstate)
-	PyThreadState *tstate;
+PyThreadState_Clear(PyThreadState *tstate)
 {
 	if (Py_VerboseFlag && tstate->frame != NULL)
 		fprintf(stderr,
@@ -168,8 +163,7 @@
 
 
 void
-PyThreadState_Delete(tstate)
-	PyThreadState *tstate;
+PyThreadState_Delete(PyThreadState *tstate)
 {
 	PyInterpreterState *interp;
 	PyThreadState **p;
@@ -195,7 +189,7 @@
 
 
 PyThreadState *
-PyThreadState_Get()
+PyThreadState_Get(void)
 {
 	if (_PyThreadState_Current == NULL)
 		Py_FatalError("PyThreadState_Get: no current thread");
@@ -205,8 +199,7 @@
 
 
 PyThreadState *
-PyThreadState_Swap(new)
-	PyThreadState *new;
+PyThreadState_Swap(PyThreadState *new)
 {
 	PyThreadState *old = _PyThreadState_Current;
 
@@ -222,7 +215,7 @@
    likely MemoryError) and the caller should pass on the exception. */
 
 PyObject *
-PyThreadState_GetDict()
+PyThreadState_GetDict(void)
 {
 	if (_PyThreadState_Current == NULL)
 		Py_FatalError("PyThreadState_GetDict: no current thread");
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index cc942a3..7812de4 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -37,7 +37,7 @@
 #ifdef macintosh
 #include "macglue.h"
 #endif
-extern char *Py_GetPath();
+extern char *Py_GetPath(void);
 
 extern grammar _PyParser_Grammar; /* From graminit.c */
 
@@ -59,10 +59,10 @@
 int _Py_AskYesNo(char *prompt);
 #endif
 
-extern void _PyUnicode_Init();
-extern void _PyUnicode_Fini();
-extern void _PyCodecRegistry_Init();
-extern void _PyCodecRegistry_Fini();
+extern void _PyUnicode_Init(void);
+extern void _PyUnicode_Fini(void);
+extern void _PyCodecRegistry_Init(void);
+extern void _PyCodecRegistry_Fini(void);
 
 
 int Py_DebugFlag; /* Needed by parser.c */
@@ -78,7 +78,7 @@
 /* API to access the initialized flag -- useful for esoteric use */
 
 int
-Py_IsInitialized()
+Py_IsInitialized(void)
 {
 	return initialized;
 }
@@ -96,7 +96,7 @@
 */
 
 void
-Py_Initialize()
+Py_Initialize(void)
 {
 	PyInterpreterState *interp;
 	PyThreadState *tstate;
@@ -185,7 +185,7 @@
 */
 
 void
-Py_Finalize()
+Py_Finalize(void)
 {
 	PyInterpreterState *interp;
 	PyThreadState *tstate;
@@ -283,7 +283,7 @@
 */
 
 PyThreadState *
-Py_NewInterpreter()
+Py_NewInterpreter(void)
 {
 	PyInterpreterState *interp;
 	PyThreadState *tstate, *save_tstate;
@@ -352,8 +352,7 @@
 */
 
 void
-Py_EndInterpreter(tstate)
-	PyThreadState *tstate;
+Py_EndInterpreter(PyThreadState *tstate)
 {
 	PyInterpreterState *interp = tstate->interp;
 
@@ -373,15 +372,14 @@
 static char *progname = "python";
 
 void
-Py_SetProgramName(pn)
-	char *pn;
+Py_SetProgramName(char *pn)
 {
 	if (pn && *pn)
 		progname = pn;
 }
 
 char *
-Py_GetProgramName()
+Py_GetProgramName(void)
 {
 	return progname;
 }
@@ -389,14 +387,13 @@
 static char *default_home = NULL;
 
 void
-Py_SetPythonHome(home)
-	char *home;
+Py_SetPythonHome(char *home)
 {
 	default_home = home;
 }
 
 char *
-Py_GetPythonHome()
+Py_GetPythonHome(void)
 {
 	char *home = default_home;
 	if (home == NULL)
@@ -407,7 +404,7 @@
 /* Create __main__ module */
 
 static void
-initmain()
+initmain(void)
 {
 	PyObject *m, *d;
 	m = PyImport_AddModule("__main__");
@@ -426,7 +423,7 @@
 /* Import the site module (not into __main__ though) */
 
 static void
-initsite()
+initsite(void)
 {
 	PyObject *m, *f;
 	m = PyImport_ImportModule("site");
@@ -451,9 +448,7 @@
 /* Parse input from a file and execute it */
 
 int
-PyRun_AnyFile(fp, filename)
-	FILE *fp;
-	char *filename;
+PyRun_AnyFile(FILE *fp, char *filename)
 {
 	if (filename == NULL)
 		filename = "???";
@@ -464,9 +459,7 @@
 }
 
 int
-PyRun_InteractiveLoop(fp, filename)
-	FILE *fp;
-	char *filename;
+PyRun_InteractiveLoop(FILE *fp, char *filename)
 {
 	PyObject *v;
 	int ret;
@@ -495,9 +488,7 @@
 }
 
 int
-PyRun_InteractiveOne(fp, filename)
-	FILE *fp;
-	char *filename;
+PyRun_InteractiveOne(FILE *fp, char *filename)
 {
 	PyObject *m, *d, *v, *w;
 	node *n;
@@ -549,9 +540,7 @@
 }
 
 int
-PyRun_SimpleFile(fp, filename)
-	FILE *fp;
-	char *filename;
+PyRun_SimpleFile(FILE *fp, char *filename)
 {
 	PyObject *m, *d, *v;
 	char *ext;
@@ -592,8 +581,7 @@
 }
 
 int
-PyRun_SimpleString(command)
-	char *command;
+PyRun_SimpleString(char *command)
 {
 	PyObject *m, *d, *v;
 	m = PyImport_AddModule("__main__");
@@ -612,13 +600,8 @@
 }
 
 static int
-parse_syntax_error(err, message, filename, lineno, offset, text)
-     PyObject* err;
-     PyObject** message;
-     char** filename;
-     int* lineno;
-     int* offset;
-     char** text;
+parse_syntax_error(PyObject *err, PyObject **message, char **filename,
+		   int *lineno, int *offset, char **text)
 {
 	long hold;
 	PyObject *v;
@@ -675,14 +658,13 @@
 }
 
 void
-PyErr_Print()
+PyErr_Print(void)
 {
 	PyErr_PrintEx(1);
 }
 
 void
-PyErr_PrintEx(set_sys_last_vars)
-	int set_sys_last_vars;
+PyErr_PrintEx(int set_sys_last_vars)
 {
 	int err = 0;
 	PyObject *exception, *v, *tb, *f;
@@ -853,31 +835,22 @@
 }
 
 PyObject *
-PyRun_String(str, start, globals, locals)
-	char *str;
-	int start;
-	PyObject *globals, *locals;
+PyRun_String(char *str, int start, PyObject *globals, PyObject *locals)
 {
 	return run_err_node(PyParser_SimpleParseString(str, start),
 			    "<string>", globals, locals);
 }
 
 PyObject *
-PyRun_File(fp, filename, start, globals, locals)
-	FILE *fp;
-	char *filename;
-	int start;
-	PyObject *globals, *locals;
+PyRun_File(FILE *fp, char *filename, int start, PyObject *globals,
+	   PyObject *locals)
 {
 	return run_err_node(PyParser_SimpleParseFile(fp, filename, start),
 			    filename, globals, locals);
 }
 
 static PyObject *
-run_err_node(n, filename, globals, locals)
-	node *n;
-	char *filename;
-	PyObject *globals, *locals;
+run_err_node(node *n, char *filename, PyObject *globals, PyObject *locals)
 {
 	if (n == NULL)
 		return  NULL;
@@ -885,10 +858,7 @@
 }
 
 static PyObject *
-run_node(n, filename, globals, locals)
-	node *n;
-	char *filename;
-	PyObject *globals, *locals;
+run_node(node *n, char *filename, PyObject *globals, PyObject *locals)
 {
 	PyCodeObject *co;
 	PyObject *v;
@@ -902,10 +872,7 @@
 }
 
 static PyObject *
-run_pyc_file(fp, filename, globals, locals)
-	FILE *fp;
-	char *filename;
-	PyObject *globals, *locals;
+run_pyc_file(FILE *fp, char *filename, PyObject *globals, PyObject *locals)
 {
 	PyCodeObject *co;
 	PyObject *v;
@@ -934,10 +901,7 @@
 }
 
 PyObject *
-Py_CompileString(str, filename, start)
-	char *str;
-	char *filename;
-	int start;
+Py_CompileString(char *str, char *filename, int start)
 {
 	node *n;
 	PyCodeObject *co;
@@ -952,10 +916,7 @@
 /* Simplified interface to parsefile -- return node or set exception */
 
 node *
-PyParser_SimpleParseFile(fp, filename, start)
-	FILE *fp;
-	char *filename;
-	int start;
+PyParser_SimpleParseFile(FILE *fp, char *filename, int start)
 {
 	node *n;
 	perrdetail err;
@@ -969,9 +930,7 @@
 /* Simplified interface to parsestring -- return node or set exception */
 
 node *
-PyParser_SimpleParseString(str, start)
-	char *str;
-	int start;
+PyParser_SimpleParseString(char *str, int start)
 {
 	node *n;
 	perrdetail err;
@@ -984,8 +943,7 @@
 /* Set the error appropriate to the given input error code (see errcode.h) */
 
 static void
-err_input(err)
-	perrdetail *err;
+err_input(perrdetail *err)
 {
 	PyObject *v, *w, *errtype;
 	char *msg = NULL;
@@ -1053,8 +1011,7 @@
 /* Print fatal error message and abort */
 
 void
-Py_FatalError(msg)
-	char *msg;
+Py_FatalError(char *msg)
 {
 	fprintf(stderr, "Fatal Python error: %s\n", msg);
 #ifdef macintosh
@@ -1079,11 +1036,10 @@
 #endif
 
 #define NEXITFUNCS 32
-static void (*exitfuncs[NEXITFUNCS])();
+static void (*exitfuncs[NEXITFUNCS])(void);
 static int nexitfuncs = 0;
 
-int Py_AtExit(func)
-	void (*func)(void);
+int Py_AtExit(void (*func)(void))
 {
 	if (nexitfuncs >= NEXITFUNCS)
 		return -1;
@@ -1092,7 +1048,7 @@
 }
 
 static void
-call_sys_exitfunc()
+call_sys_exitfunc(void)
 {
 	PyObject *exitfunc = PySys_GetObject("exitfunc");
 
@@ -1115,7 +1071,7 @@
 }
 
 static void
-call_ll_exitfuncs()
+call_ll_exitfuncs(void)
 {
 	while (nexitfuncs > 0)
 		(*exitfuncs[--nexitfuncs])();
@@ -1125,8 +1081,7 @@
 }
 
 void
-Py_Exit(sts)
-	int sts;
+Py_Exit(int sts)
 {
 	Py_Finalize();
 
@@ -1138,7 +1093,7 @@
 }
 
 static void
-initsigs()
+initsigs(void)
 {
 #ifdef HAVE_SIGNAL_H
 #ifdef SIGPIPE
@@ -1152,8 +1107,7 @@
 /* Ask a yes/no question */
 
 int
-_Py_AskYesNo(prompt)
-	char *prompt;
+_Py_AskYesNo(char *prompt)
 {
 	char buf[256];
 	
@@ -1170,8 +1124,7 @@
    Pretend that stdin is always interactive, other files never. */
 
 int
-isatty(fd)
-	int fd;
+isatty(int fd)
 {
 	return fd == fileno(stdin);
 }
@@ -1185,9 +1138,7 @@
  *      the descriptor is NULL or "<stdin>" or "???".
  */
 int
-Py_FdIsInteractive(fp, filename)
-	FILE *fp;
-	char *filename;
+Py_FdIsInteractive(FILE *fp, char *filename)
 {
 	if (isatty((int)fileno(fp)))
 		return 1;
diff --git a/Python/sigcheck.c b/Python/sigcheck.c
index 2249ed9..dba4bfb 100644
--- a/Python/sigcheck.c
+++ b/Python/sigcheck.c
@@ -19,7 +19,7 @@
 
 /* ARGSUSED */
 int
-PyErr_CheckSignals()
+PyErr_CheckSignals(void)
 {
 	if (!PyOS_InterruptOccurred())
 		return 0;
diff --git a/Python/strdup.c b/Python/strdup.c
index 9168b4f..20187e0 100644
--- a/Python/strdup.c
+++ b/Python/strdup.c
@@ -3,8 +3,7 @@
 #include "pgenheaders.h"
 
 char *
-strdup(str)
-	const char *str;
+strdup(const char *str)
 {
 	if (str != NULL) {
 		register char *copy = malloc(strlen(str) + 1);
diff --git a/Python/strerror.c b/Python/strerror.c
index 5c2a2f0..fc7f8d1 100644
--- a/Python/strerror.c
+++ b/Python/strerror.c
@@ -17,8 +17,7 @@
 extern char *sys_errlist[];
 
 char *
-strerror(err)
-	int err;
+strerror(int err)
 {
 	static char buf[20];
 	if (err >= 0 && err < sys_nerr)
diff --git a/Python/strtod.c b/Python/strtod.c
index 0673fca..c6a1dbd 100644
--- a/Python/strtod.c
+++ b/Python/strtod.c
@@ -52,17 +52,15 @@
 static	char	MDMAXFRAC[]	= "17976931348623157";
 static	double	HUGE		= 1.7976931348623157e308;
 
-extern	double	atof();		/* Only called when result known to be ok */
+extern	double	atof(const char *);		/* Only called when result known to be ok */
 
 #ifndef DONT_HAVE_ERRNO_H
 #include <errno.h>
 #endif
 extern	int	errno;
 
-double strtod(str, ptr)
-    char *str;
-    char **ptr;
-    {
+double strtod(char *str, char **ptr)
+{
 	int sign, scale, dotseen;
 	int esign, expt;
 	char *save;
@@ -155,4 +153,4 @@
 	(void) sprintf(dp, "E%d", expt);
 	errno = 0;
 	return atof(buffer)*sign;
-    }
+}
diff --git a/Python/structmember.c b/Python/structmember.c
index 5b0ca90..891ffa0 100644
--- a/Python/structmember.c
+++ b/Python/structmember.c
@@ -15,8 +15,7 @@
 #include "structmember.h"
 
 static PyObject *
-listmembers(mlist)
-	struct memberlist *mlist;
+listmembers(struct memberlist *mlist)
 {
 	int i, n;
 	PyObject *v;
@@ -39,10 +38,7 @@
 }
 
 PyObject *
-PyMember_Get(addr, mlist, name)
-	char *addr;
-	struct memberlist *mlist;
-	char *name;
+PyMember_Get(char *addr, struct memberlist *mlist, char *name)
 {
 	struct memberlist *l;
 	
@@ -139,11 +135,7 @@
 }
 
 int
-PyMember_Set(addr, mlist, name, v)
-	char *addr;
-	struct memberlist *mlist;
-	char *name;
-	PyObject *v;
+PyMember_Set(char *addr, struct memberlist *mlist, char *name, PyObject *v)
 {
 	struct memberlist *l;
 	PyObject *oldv;
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 6ba43bd..85118f8 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -38,8 +38,7 @@
 #endif
 
 PyObject *
-PySys_GetObject(name)
-	char *name;
+PySys_GetObject(char *name)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 	PyObject *sd = tstate->interp->sysdict;
@@ -49,9 +48,7 @@
 }
 
 FILE *
-PySys_GetFile(name, def)
-	char *name;
-	FILE *def;
+PySys_GetFile(char *name, FILE *def)
 {
 	FILE *fp = NULL;
 	PyObject *v = PySys_GetObject(name);
@@ -63,9 +60,7 @@
 }
 
 int
-PySys_SetObject(name, v)
-	char *name;
-	PyObject *v;
+PySys_SetObject(char *name, PyObject *v)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 	PyObject *sd = tstate->interp->sysdict;
@@ -80,9 +75,7 @@
 }
 
 static PyObject *
-sys_exc_info(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_exc_info(PyObject *self, PyObject *args)
 {
 	PyThreadState *tstate;
 	if (!PyArg_ParseTuple(args, ":exc_info"))
@@ -103,9 +96,7 @@
 This should be called from inside an except clause only.";
 
 static PyObject *
-sys_exit(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_exit(PyObject *self, PyObject *args)
 {
 	/* Raise SystemExit so callers may catch it or clean up. */
 	PyErr_SetObject(PyExc_SystemExit, args);
@@ -122,9 +113,7 @@
 exit status will be one (i.e., failure).";
 
 static PyObject *
-sys_getdefaultencoding(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_getdefaultencoding(PyObject *self, PyObject *args)
 {
 	if (!PyArg_ParseTuple(args, ":getdefaultencoding"))
 		return NULL;
@@ -138,9 +127,7 @@
 implementation.";
 
 static PyObject *
-sys_setdefaultencoding(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_setdefaultencoding(PyObject *self, PyObject *args)
 {
 	char *encoding;
 	if (!PyArg_ParseTuple(args, "s:setdefaultencoding", &encoding))
@@ -157,9 +144,7 @@
 Set the current default string encoding used by the Unicode implementation.";
 
 static PyObject *
-sys_settrace(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_settrace(PyObject *self, PyObject *args)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 	if (args == Py_None)
@@ -179,9 +164,7 @@
 function call.  See the debugger chapter in the library manual.";
 
 static PyObject *
-sys_setprofile(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_setprofile(PyObject *self, PyObject *args)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 	if (args == Py_None)
@@ -201,9 +184,7 @@
 and return.  See the profiler chapter in the library manual.";
 
 static PyObject *
-sys_setcheckinterval(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_setcheckinterval(PyObject *self, PyObject *args)
 {
 	PyThreadState *tstate = PyThreadState_Get();
 	if (!PyArg_ParseTuple(args, "i:setcheckinterval", &tstate->interp->checkinterval))
@@ -223,9 +204,7 @@
 #include <malloc.h>
 
 static PyObject *
-sys_mdebug(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_mdebug(PyObject *self, PyObject *args)
 {
 	int flag;
 	if (!PyArg_ParseTuple(args, "i:mdebug", &flag))
@@ -237,9 +216,7 @@
 #endif /* USE_MALLOPT */
 
 static PyObject *
-sys_getrefcount(self, args)
-	PyObject *self;
-	PyObject *args;
+sys_getrefcount(PyObject *self, PyObject *args)
 {
 	PyObject *arg;
 	if (!PyArg_ParseTuple(args, "O:getrefcount", &arg))
@@ -267,8 +244,7 @@
 
 #ifdef COUNT_ALLOCS
 static PyObject *
-sys_getcounts(self, args)
-	PyObject *self, *args;
+sys_getcounts(PyObject *self, PyObject *args)
 {
 	extern PyObject *get_counts(void);
 
@@ -315,7 +291,7 @@
 };
 
 static PyObject *
-list_builtin_module_names()
+list_builtin_module_names(void)
 {
 	PyObject *list = PyList_New(0);
 	int i;
@@ -407,7 +383,7 @@
 #endif
 
 PyObject *
-_PySys_Init()
+_PySys_Init(void)
 {
 	extern int fclose(FILE *);
 	PyObject *m, *v, *sysdict;
@@ -495,9 +471,7 @@
 }
 
 static PyObject *
-makepathobject(path, delim)
-	char *path;
-	int delim;
+makepathobject(char *path, int delim)
 {
 	int i, n;
 	char *p;
@@ -530,8 +504,7 @@
 }
 
 void
-PySys_SetPath(path)
-	char *path;
+PySys_SetPath(char *path)
 {
 	PyObject *v;
 	if ((v = makepathobject(path, DELIM)) == NULL)
@@ -542,9 +515,7 @@
 }
 
 static PyObject *
-makeargvobject(argc, argv)
-	int argc;
-	char **argv;
+makeargvobject(int argc, char **argv)
 {
 	PyObject *av;
 	if (argc <= 0 || argv == NULL) {
@@ -570,9 +541,7 @@
 }
 
 void
-PySys_SetArgv(argc, argv)
-	int argc;
-	char **argv;
+PySys_SetArgv(int argc, char **argv)
 {
 	PyObject *av = makeargvobject(argc, argv);
 	PyObject *path = PySys_GetObject("path");
@@ -674,11 +643,7 @@
  */
 
 static void
-mywrite(name, fp, format, va)
-	char *name;
-	FILE *fp;
-	const char *format;
-	va_list va;
+mywrite(char *name, FILE *fp, const char *format, va_list va)
 {
 	PyObject *file;
 	PyObject *error_type, *error_value, *error_traceback;
@@ -700,43 +665,21 @@
 }
 
 void
-#ifdef HAVE_STDARG_PROTOTYPES
 PySys_WriteStdout(const char *format, ...)
-#else
-PySys_WriteStdout(va_alist)
-	va_dcl
-#endif
 {
 	va_list va;
 
-#ifdef HAVE_STDARG_PROTOTYPES
 	va_start(va, format);
-#else
-	char *format;
-	va_start(va);
-	format = va_arg(va, char *);
-#endif
 	mywrite("stdout", stdout, format, va);
 	va_end(va);
 }
 
 void
-#ifdef HAVE_STDARG_PROTOTYPES
 PySys_WriteStderr(const char *format, ...)
-#else
-PySys_WriteStderr(va_alist)
-	va_dcl
-#endif
 {
 	va_list va;
 
-#ifdef HAVE_STDARG_PROTOTYPES
 	va_start(va, format);
-#else
-	char *format;
-	va_start(va);
-	format = va_arg(va, char *);
-#endif
 	mywrite("stderr", stderr, format, va);
 	va_end(va);
 }
diff --git a/Python/thread.c b/Python/thread.c
index f3c1d45..c8b2809 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -29,7 +29,7 @@
 #include <stdlib.h>
 #else
 #ifdef Py_DEBUG
-extern char *getenv();
+extern char *getenv(const char *);
 #endif
 #endif
 
@@ -73,17 +73,6 @@
 
 #endif /* _POSIX_THREADS */
 
-#ifdef __STDC__
-#define _P(args)		args
-#define _P0()			(void)
-#define _P1(v,t)		(t)
-#define _P2(v1,t1,v2,t2)	(t1,t2)
-#else
-#define _P(args)		()
-#define _P0()			()
-#define _P1(v,t)		(v) t;
-#define _P2(v1,t1,v2,t2)	(v1,v2) t1; t2;
-#endif /* __STDC__ */
 
 #ifdef Py_DEBUG
 static int thread_debug = 0;
@@ -98,7 +87,7 @@
 
 static void PyThread__init_thread(); /* Forward */
 
-void PyThread_init_thread _P0()
+void PyThread_init_thread(void)
 {
 #ifdef Py_DEBUG
 	char *p = getenv("THREADDEBUG");
diff --git a/Python/thread_cthread.h b/Python/thread_cthread.h
index 776e8e1..80b10f7 100644
--- a/Python/thread_cthread.h
+++ b/Python/thread_cthread.h
@@ -14,7 +14,8 @@
 /*
  * Initialization.
  */
-static void PyThread__init_thread _P0()
+static void
+PyThread__init_thread(void)
 {
 	cthread_init();
 }
@@ -22,7 +23,8 @@
 /*
  * Thread support.
  */
-int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int
+PyThread_start_new_thread(func, void (*func)(void *), void *arg)
 {
 	int success = 0;	/* init not needed when SOLARIS_THREADS and */
 				/* C_THREADS implemented properly */
@@ -37,14 +39,16 @@
 	return success < 0 ? 0 : 1;
 }
 
-long PyThread_get_thread_ident _P0()
+long
+PyThread_get_thread_ident(void)
 {
 	if (!initialized)
 		PyThread_init_thread();
 	return (long) cthread_self();
 }
 
-static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
+static void
+do_PyThread_exit_thread(int no_cleanup)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 	if (!initialized)
@@ -55,18 +59,21 @@
 	cthread_exit(0);
 }
 
-void PyThread_exit_thread _P0()
+void
+PyThread_exit_thread(void)
 {
 	do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread _P0()
+void
+PyThread__exit_thread(void)
 {
 	do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static
+void do_PyThread_exit_prog(int status, int no_cleanup)
 {
 	dprintf(("PyThread_exit_prog(%d) called\n", status));
 	if (!initialized)
@@ -80,12 +87,14 @@
 		exit(status);
 }
 
-void PyThread_exit_prog _P1(status, int status)
+void
+PyThread_exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(status, int status)
+void
+PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
@@ -94,7 +103,8 @@
 /*
  * Lock support.
  */
-PyThread_type_lock PyThread_allocate_lock _P0()
+PyThread_type_lock
+PyThread_allocate_lock(void)
 {
 	mutex_t lock;
 
@@ -112,13 +122,15 @@
 	return (PyThread_type_lock) lock;
 }
 
-void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
+void
+PyThread_free_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_free_lock(%p) called\n", lock));
 	mutex_free(lock);
 }
 
-int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
+int
+PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
 {
 	int success = FALSE;
 
@@ -133,7 +145,8 @@
 	return success;
 }
 
-void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
+void
+PyThread_release_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_release_lock(%p) called\n", lock));
 	mutex_unlock((mutex_t )lock);
@@ -153,7 +166,8 @@
  * semaphore using a condition.
  *
  */
-PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
+PyThread_type_sema
+PyThread_allocate_sema(int value)
 {
 	char *sema = 0;
 	dprintf(("PyThread_allocate_sema called\n"));
@@ -164,19 +178,22 @@
 	return (PyThread_type_sema) sema;
 }
 
-void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
+void
+PyThread_free_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_free_sema(%p) called\n", sema));
 }
 
-int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
+int
+PyThread_down_sema(PyThread_type_sema sema, int waitflag)
 {
 	dprintf(("PyThread_down_sema(%p, %d) called\n", sema, waitflag));
 	dprintf(("PyThread_down_sema(%p) return\n", sema));
 	return -1;
 }
 
-void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
+void
+PyThread_up_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_up_sema(%p)\n", sema));
 }
diff --git a/Python/thread_foobar.h b/Python/thread_foobar.h
index f2da913..18ddc21 100644
--- a/Python/thread_foobar.h
+++ b/Python/thread_foobar.h
@@ -11,14 +11,16 @@
 /*
  * Initialization.
  */
-static void PyThread__init_thread _P0()
+static void
+PyThread__init_thread(void)
 {
 }
 
 /*
  * Thread support.
  */
-int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int
+PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
 	int success = 0;	/* init not needed when SOLARIS_THREADS and */
 				/* C_THREADS implemented properly */
@@ -29,13 +31,15 @@
 	return success < 0 ? 0 : 1;
 }
 
-long PyThread_get_thread_ident _P0()
+long
+PyThread_get_thread_ident(void)
 {
 	if (!initialized)
 		PyThread_init_thread();
 }
 
-static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
+static
+void do_PyThread_exit_thread(int no_cleanup)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 	if (!initialized)
@@ -45,18 +49,21 @@
 			exit(0);
 }
 
-void PyThread_exit_thread _P0()
+void
+PyThread_exit_thread(void)
 {
 	do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread _P0()
+void
+PyThread__exit_thread(void)
 {
 	do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static
+void do_PyThread_exit_prog(int status, int no_cleanup)
 {
 	dprintf(("PyThread_exit_prog(%d) called\n", status));
 	if (!initialized)
@@ -66,12 +73,14 @@
 			exit(status);
 }
 
-void PyThread_exit_prog _P1(status, int status)
+void
+PyThread_exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(status, int status)
+void
+PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
@@ -80,7 +89,8 @@
 /*
  * Lock support.
  */
-PyThread_type_lock PyThread_allocate_lock _P0()
+PyThread_type_lock
+PyThread_allocate_lock(void)
 {
 
 	dprintf(("PyThread_allocate_lock called\n"));
@@ -91,12 +101,14 @@
 	return (PyThread_type_lock) lock;
 }
 
-void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
+void
+PyThread_free_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_free_lock(%p) called\n", lock));
 }
 
-int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
+int
+PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
 {
 	int success;
 
@@ -105,7 +117,8 @@
 	return success;
 }
 
-void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
+void
+PyThread_release_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_release_lock(%p) called\n", lock));
 }
@@ -113,7 +126,8 @@
 /*
  * Semaphore support.
  */
-PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
+PyThread_type_sema
+PyThread_allocate_sema(int value)
 {
 	dprintf(("PyThread_allocate_sema called\n"));
 	if (!initialized)
@@ -123,19 +137,22 @@
 	return (PyThread_type_sema) sema;
 }
 
-void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
+void
+PyThread_free_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_free_sema(%p) called\n",  sema));
 }
 
-int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
+int
+PyThread_down_sema(PyThread_type_sema sema, int waitflag)
 {
 	dprintf(("PyThread_down_sema(%p, %d) called\n",  sema, waitflag));
 	dprintf(("PyThread_down_sema(%p) return\n",  sema));
 	return -1;
 }
 
-void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
+void
+PyThread_up_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_up_sema(%p)\n",  sema));
 }
diff --git a/Python/thread_lwp.h b/Python/thread_lwp.h
index 5d73242..671387c 100644
--- a/Python/thread_lwp.h
+++ b/Python/thread_lwp.h
@@ -25,7 +25,7 @@
 /*
  * Initialization.
  */
-static void PyThread__init_thread _P0()
+static void PyThread__init_thread(void)
 {
 	lwp_setstkcache(STACKSIZE, NSTACKS);
 }
@@ -35,7 +35,7 @@
  */
 
 
-int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
 	thread_t tid;
 	int success;
@@ -46,7 +46,7 @@
 	return success < 0 ? 0 : 1;
 }
 
-long PyThread_get_thread_ident _P0()
+long PyThread_get_thread_ident(void)
 {
 	thread_t tid;
 	if (!initialized)
@@ -56,7 +56,7 @@
 	return tid.thread_id;
 }
 
-static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread(int no_cleanup)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 	if (!initialized)
@@ -67,18 +67,18 @@
 	lwp_destroy(SELF);
 }
 
-void PyThread_exit_thread _P0()
+void PyThread_exit_thread(void)
 {
 	do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread _P0()
+void PyThread__exit_thread(void)
 {
 	do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog(int status, int no_cleanup)
 {
 	dprintf(("PyThread_exit_prog(%d) called\n", status));
 	if (!initialized)
@@ -89,12 +89,12 @@
 	pod_exit(status);
 }
 
-void PyThread_exit_prog _P1(status, int status)
+void PyThread_exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(status, int status)
+void PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
@@ -103,7 +103,7 @@
 /*
  * Lock support.
  */
-PyThread_type_lock PyThread_allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock(void)
 {
 	struct lock *lock;
 	extern char *malloc();
@@ -120,14 +120,14 @@
 	return (PyThread_type_lock) lock;
 }
 
-void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
+void PyThread_free_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_free_lock(%p) called\n", lock));
 	mon_destroy(((struct lock *) lock)->lock_monitor);
 	free((char *) lock);
 }
 
-int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
 {
 	int success;
 
@@ -148,7 +148,7 @@
 	return success;
 }
 
-void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
+void PyThread_release_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_release_lock(%p) called\n", lock));
 	(void) mon_enter(((struct lock *) lock)->lock_monitor);
@@ -160,7 +160,7 @@
 /*
  * Semaphore support.
  */
-PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema(int value)
 {
 	PyThread_type_sema sema = 0;
 	dprintf(("PyThread_allocate_sema called\n"));
@@ -171,19 +171,19 @@
 	return (PyThread_type_sema) sema;
 }
 
-void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
+void PyThread_free_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_free_sema(%p) called\n",  sema));
 }
 
-int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema(PyThread_type_sema sema, int waitflag)
 {
 	dprintf(("PyThread_down_sema(%p, %d) called\n",  sema, waitflag));
 	dprintf(("PyThread_down_sema(%p) return\n",  sema));
 	return -1;
 }
 
-void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
+void PyThread_up_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_up_sema(%p)\n",  sema));
 }
diff --git a/Python/thread_nt.h b/Python/thread_nt.h
index aaa3b23..9d41820 100644
--- a/Python/thread_nt.h
+++ b/Python/thread_nt.h
@@ -122,7 +122,7 @@
 		SetEvent(mutex->hevent) ; /* Other threads are waiting, wake one on them up */
 }
 
-PNRMUTEX AllocNonRecursiveMutex()
+PNRMUTEX AllocNonRecursiveMutex(void)
 {
 	PNRMUTEX mutex = (PNRMUTEX)malloc(sizeof(NRMUTEX)) ;
 	if (mutex && !InitializeNonRecursiveMutex(mutex))
@@ -231,7 +231,7 @@
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(int status)
+void PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
diff --git a/Python/thread_os2.h b/Python/thread_os2.h
index 0709e06..d95d765 100644
--- a/Python/thread_os2.h
+++ b/Python/thread_os2.h
@@ -29,14 +29,16 @@
 /*
  * Initialization of the C package, should not be needed.
  */
-static void PyThread__init_thread(void)
+static void
+PyThread__init_thread(void)
 {
 }
 
 /*
  * Thread support.
  */
-int PyThread_start_new_thread(void (*func)(void *), void *arg)
+int
+PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
   int aThread;
   int success = 1;
@@ -52,7 +54,8 @@
   return success;
 }
 
-long PyThread_get_thread_ident(void)
+long
+PyThread_get_thread_ident(void)
 {
   PPIB pib;
   PTIB tib;
@@ -64,7 +67,8 @@
   return tib->tib_ptib2->tib2_ultid;
 }
 
-static void do_PyThread_exit_thread(int no_cleanup)
+static void
+do_PyThread_exit_thread(int no_cleanup)
 {
   dprintf(("%ld: PyThread_exit_thread called\n", PyThread_get_thread_ident()));
   if (!initialized)
@@ -75,18 +79,21 @@
   _endthread();
 }
 
-void PyThread_exit_thread(void)
+void 
+PyThread_exit_thread(void)
 {
   do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread(void)
+void 
+PyThread__exit_thread(void)
 {
   do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog(int status, int no_cleanup)
+static void 
+do_PyThread_exit_prog(int status, int no_cleanup)
 {
   dprintf(("PyThread_exit_prog(%d) called\n", status));
   if (!initialized)
@@ -96,12 +103,14 @@
       exit(status);
 }
 
-void PyThread_exit_prog(int status)
+void 
+PyThread_exit_prog(int status)
 {
   do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(int status)
+void 
+PyThread__exit_prog(int status)
 {
   do_PyThread_exit_prog(status, 1);
 }
@@ -112,7 +121,8 @@
  * I [Dag] tried to implement it with mutex but I could find a way to
  * tell whether a thread already own the lock or not.
  */
-PyThread_type_lock PyThread_allocate_lock(void)
+PyThread_type_lock 
+PyThread_allocate_lock(void)
 {
   HMTX   aLock;
   APIRET rc;
@@ -131,7 +141,8 @@
   return (PyThread_type_lock) aLock;
 }
 
-void PyThread_free_lock(PyThread_type_lock aLock)
+void 
+PyThread_free_lock(PyThread_type_lock aLock)
 {
   dprintf(("%ld: PyThread_free_lock(%p) called\n", PyThread_get_thread_ident(),aLock));
 
@@ -144,7 +155,8 @@
  * and 0 if the lock was not acquired. This means a 0 is returned
  * if the lock has already been acquired by this thread!
  */
-int PyThread_acquire_lock(PyThread_type_lock aLock, int waitflag)
+int 
+PyThread_acquire_lock(PyThread_type_lock aLock, int waitflag)
 {
   int   success = 1;
   ULONG rc, count;
@@ -172,7 +184,8 @@
   return success;
 }
 
-void PyThread_release_lock(PyThread_type_lock aLock)
+void 
+PyThread_release_lock(PyThread_type_lock aLock)
 {
   dprintf(("%ld: PyThread_release_lock(%p) called\n", PyThread_get_thread_ident(),aLock));
 
@@ -185,22 +198,26 @@
 /*
  * Semaphore support.
  */
-PyThread_type_sema PyThread_allocate_sema(int value)
+PyThread_type_sema 
+PyThread_allocate_sema(int value)
 {
   return (PyThread_type_sema) 0;
 }
 
-void PyThread_free_sema(PyThread_type_sema aSemaphore)
+void 
+PyThread_free_sema(PyThread_type_sema aSemaphore)
 {
 
 }
 
-int PyThread_down_sema(PyThread_type_sema aSemaphore, int waitflag)
+int 
+PyThread_down_sema(PyThread_type_sema aSemaphore, int waitflag)
 {
   return -1;
 }
 
-void PyThread_up_sema(PyThread_type_sema aSemaphore)
+void 
+PyThread_up_sema(PyThread_type_sema aSemaphore)
 {
   dprintf(("%ld: PyThread_up_sema(%p)\n", PyThread_get_thread_ident(), aSemaphore));
 }
diff --git a/Python/thread_pth.h b/Python/thread_pth.h
index 60e0b25..608778d 100644
--- a/Python/thread_pth.h
+++ b/Python/thread_pth.h
@@ -43,7 +43,7 @@
  * Initialization.
  */
 
-static void PyThread__init_thread _P0()
+static void PyThread__init_thread(void)
 {
 	pth_init();
 }
@@ -53,7 +53,7 @@
  */
 
 
-int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
 	pth_t th;
 	int success;
@@ -62,14 +62,14 @@
 		PyThread_init_thread();
 
 	th = pth_spawn(PTH_ATTR_DEFAULT,
-				 (void* (*)_P((void *)))func,
+				 (void* (*)(void *))func,
 				 (void *)arg
 				 );
 
 	return th == NULL ? 0 : 1;
 }
 
-long PyThread_get_thread_ident _P0()
+long PyThread_get_thread_ident(void)
 {
 	volatile pth_t threadid;
 	if (!initialized)
@@ -79,7 +79,7 @@
 	return (long) *(long *) &threadid;
 }
 
-static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread(int no_cleanup)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 	if (!initialized) {
@@ -90,18 +90,18 @@
 	}
 }
 
-void PyThread_exit_thread _P0()
+void PyThread_exit_thread(void)
 {
 	do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread _P0()
+void PyThread__exit_thread(void)
 {
 	do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog(int status, int no_cleanup)
 {
 	dprintf(("PyThread_exit_prog(%d) called\n", status));
 	if (!initialized)
@@ -111,12 +111,12 @@
 			exit(status);
 }
 
-void PyThread_exit_prog _P1(status, int status)
+void PyThread_exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(status, int status)
+void PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
@@ -125,7 +125,7 @@
 /*
  * Lock support.
  */
-PyThread_type_lock PyThread_allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock(void)
 {
 	pth_lock *lock;
 	int status, error = 0;
@@ -151,7 +151,7 @@
 	return (PyThread_type_lock) lock;
 }
 
-void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
+void PyThread_free_lock(PyThread_type_lock lock)
 {
 	pth_lock *thelock = (pth_lock *)lock;
 	int status, error = 0;
@@ -161,7 +161,7 @@
 	free((void *)thelock);
 }
 
-int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
 {
 	int success;
 	pth_lock *thelock = (pth_lock *)lock;
@@ -198,7 +198,7 @@
 	return success;
 }
 
-void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
+void PyThread_release_lock(PyThread_type_lock lock)
 {
         pth_lock *thelock = (pth_lock *)lock;
         int status, error = 0;
@@ -228,7 +228,7 @@
 	int value;
 };
 
-PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema(int value)
 {
 	struct semaphore *sema;
 	int status, error = 0;
@@ -253,7 +253,7 @@
 	return (PyThread_type_sema) sema;
 }
 
-void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
+void PyThread_free_sema(PyThread_type_sema sema)
 {
 	int status, error = 0;
 	struct semaphore *thesema = (struct semaphore *) sema;
@@ -262,7 +262,7 @@
 	free((void *) thesema);
 }
 
-int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema(PyThread_type_sema sema, int waitflag)
 {
 	int status, error = 0, success;
 	struct semaphore *thesema = (struct semaphore *) sema;
@@ -291,7 +291,7 @@
 	return success;
 }
 
-void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
+void PyThread_up_sema(PyThread_type_sema sema)
 {
 	int status, error = 0;
 	struct semaphore *thesema = (struct semaphore *) sema;
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index e788d82..2ef46c0 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -100,11 +100,13 @@
  */
 
 #ifdef _HAVE_BSDI
-static void _noop()
+static
+void _noop(void)
 {
 }
 
-static void PyThread__init_thread _P0()
+static void
+PyThread__init_thread(void)
 {
 	/* DO AN INIT BY STARTING THE THREAD */
 	static int dummy = 0;
@@ -115,7 +117,8 @@
 
 #else /* !_HAVE_BSDI */
 
-static void PyThread__init_thread _P0()
+static void
+PyThread__init_thread(void)
 {
 #if defined(_AIX) && defined(__GNUC__)
 	pthread_init();
@@ -129,7 +132,8 @@
  */
 
 
-int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int 
+PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
 	pthread_t th;
 	int success;
@@ -144,7 +148,7 @@
 				 (pthread_addr_t)arg
 #elif defined(PY_PTHREAD_D6)
 				 pthread_attr_default,
-				 (void* (*)_P((void *)))func,
+				 (void* (*)(void *))func,
 				 arg
 #elif defined(PY_PTHREAD_D7)
 				 pthread_attr_default,
@@ -152,7 +156,7 @@
 				 arg
 #elif defined(PY_PTHREAD_STD)
 				 (pthread_attr_t*)NULL,
-				 (void* (*)_P((void *)))func,
+				 (void* (*)(void *))func,
 				 (void *)arg
 #endif
 				 );
@@ -167,7 +171,8 @@
 	return success != 0 ? 0 : 1;
 }
 
-long PyThread_get_thread_ident _P0()
+long 
+PyThread_get_thread_ident(void)
 {
 	volatile pthread_t threadid;
 	if (!initialized)
@@ -177,7 +182,8 @@
 	return (long) *(long *) &threadid;
 }
 
-static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
+static void 
+do_PyThread_exit_thread(int no_cleanup)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 	if (!initialized) {
@@ -188,18 +194,21 @@
 	}
 }
 
-void PyThread_exit_thread _P0()
+void 
+PyThread_exit_thread(void)
 {
 	do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread _P0()
+void 
+PyThread__exit_thread(void)
 {
 	do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void 
+do_PyThread_exit_prog(int status, int no_cleanup)
 {
 	dprintf(("PyThread_exit_prog(%d) called\n", status));
 	if (!initialized)
@@ -209,12 +218,14 @@
 			exit(status);
 }
 
-void PyThread_exit_prog _P1(status, int status)
+void 
+PyThread_exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(status, int status)
+void 
+PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
@@ -223,7 +234,8 @@
 /*
  * Lock support.
  */
-PyThread_type_lock PyThread_allocate_lock _P0()
+PyThread_type_lock 
+PyThread_allocate_lock(void)
 {
 	pthread_lock *lock;
 	int status, error = 0;
@@ -255,7 +267,8 @@
 	return (PyThread_type_lock) lock;
 }
 
-void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
+void 
+PyThread_free_lock(PyThread_type_lock lock)
 {
 	pthread_lock *thelock = (pthread_lock *)lock;
 	int status, error = 0;
@@ -271,7 +284,8 @@
 	free((void *)thelock);
 }
 
-int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
+int 
+PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
 {
 	int success;
 	pthread_lock *thelock = (pthread_lock *)lock;
@@ -308,7 +322,8 @@
 	return success;
 }
 
-void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
+void 
+PyThread_release_lock(PyThread_type_lock lock)
 {
 	pthread_lock *thelock = (pthread_lock *)lock;
 	int status, error = 0;
@@ -338,7 +353,8 @@
 	int value;
 };
 
-PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
+PyThread_type_sema 
+PyThread_allocate_sema(int value)
 {
 	struct semaphore *sema;
 	int status, error = 0;
@@ -365,7 +381,8 @@
 	return (PyThread_type_sema) sema;
 }
 
-void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
+void 
+PyThread_free_sema(PyThread_type_sema sema)
 {
 	int status, error = 0;
 	struct semaphore *thesema = (struct semaphore *) sema;
@@ -378,7 +395,8 @@
 	free((void *) thesema);
 }
 
-int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
+int 
+PyThread_down_sema(PyThread_type_sema sema, int waitflag)
 {
 	int status, error = 0, success;
 	struct semaphore *thesema = (struct semaphore *) sema;
@@ -407,7 +425,8 @@
 	return success;
 }
 
-void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
+void 
+PyThread_up_sema(PyThread_type_sema sema)
 {
 	int status, error = 0;
 	struct semaphore *thesema = (struct semaphore *) sema;
diff --git a/Python/thread_sgi.h b/Python/thread_sgi.h
index 942097a..a1ebe6d 100644
--- a/Python/thread_sgi.h
+++ b/Python/thread_sgi.h
@@ -47,7 +47,7 @@
  * exits.  When that happens, we must see whether we have to exit as
  * well (because of an PyThread_exit_prog()) or whether we should continue on.
  */
-static void exit_sig _P0()
+static void exit_sig(void)
 {
 	d2printf(("exit_sig called\n"));
 	if (exiting && getpid() == my_pid) {
@@ -68,7 +68,7 @@
  * This routine is called when a process calls exit().  If that wasn't
  * done from the library, we do as if an PyThread_exit_prog() was intended.
  */
-static void maybe_exit _P0()
+static void maybe_exit(void)
 {
 	dprintf(("maybe_exit called\n"));
 	if (exiting) {
@@ -82,7 +82,7 @@
 /*
  * Initialization.
  */
-static void PyThread__init_thread _P0()
+static void PyThread__init_thread(void)
 {
 #ifndef NO_EXIT_PROG
 	struct sigaction s;
@@ -143,7 +143,7 @@
  * Thread support.
  */
 
-static void clean_threads _P0()
+static void clean_threads(void)
 {
 	int i, j;
 	pid_t mypid, pid;
@@ -177,7 +177,7 @@
 	}
 }
 
-int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
 #ifdef USE_DL
 	long addr, size;
@@ -235,12 +235,12 @@
 	return success < 0 ? 0 : 1;
 }
 
-long PyThread_get_thread_ident _P0()
+long PyThread_get_thread_ident(void)
 {
 	return getpid();
 }
 
-static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread(int no_cleanup)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 	if (!initialized)
@@ -305,18 +305,18 @@
 	_exit(0);
 }
 
-void PyThread_exit_thread _P0()
+void PyThread_exit_thread(void)
 {
 	do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread _P0()
+void PyThread__exit_thread(void)
 {
 	do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog(int status, int no_cleanup)
 {
 	dprintf(("PyThread_exit_prog(%d) called\n", status));
 	if (!initialized)
@@ -329,12 +329,12 @@
 	do_PyThread_exit_thread(no_cleanup);
 }
 
-void PyThread_exit_prog _P1(status, int status)
+void PyThread_exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(status, int status)
+void PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
@@ -343,7 +343,7 @@
 /*
  * Lock support.
  */
-PyThread_type_lock PyThread_allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock(void)
 {
 	ulock_t lock;
 
@@ -358,13 +358,13 @@
 	return (PyThread_type_lock) lock;
 }
 
-void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
+void PyThread_free_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_free_lock(%p) called\n", lock));
 	usfreelock((ulock_t) lock, shared_arena);
 }
 
-int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
 {
 	int success;
 
@@ -380,7 +380,7 @@
 	return success;
 }
 
-void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
+void PyThread_release_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_release_lock(%p) called\n", lock));
 	if (usunsetlock((ulock_t) lock) < 0)
@@ -390,7 +390,7 @@
 /*
  * Semaphore support.
  */
-PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema(int value)
 {
 	usema_t *sema;
 	dprintf(("PyThread_allocate_sema called\n"));
@@ -403,13 +403,13 @@
 	return (PyThread_type_sema) sema;
 }
 
-void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
+void PyThread_free_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_free_sema(%p) called\n",  sema));
 	usfreesema((usema_t *) sema, shared_arena);
 }
 
-int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema(PyThread_type_sema sema, int waitflag)
 {
 	int success;
 
@@ -424,7 +424,7 @@
 	return success;
 }
 
-void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
+void PyThread_up_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_up_sema(%p)\n",  sema));
 	if (usvsema((usema_t *) sema) < 0)
@@ -446,7 +446,7 @@
 static int nkeys = 0;
 static PyThread_type_lock keymutex = NULL;
 
-static struct key *find_key _P2(key, int key, value, void *value)
+static struct key *find_key(int key, void *value)
 {
 	struct key *p;
 	long id = PyThread_get_thread_ident();
@@ -469,14 +469,14 @@
 	return p;
 }
 
-int PyThread_create_key _P0()
+int PyThread_create_key(void)
 {
 	if (keymutex == NULL)
 		keymutex = PyThread_allocate_lock();
 	return ++nkeys;
 }
 
-void PyThread_delete_key _P1(key, int key)
+void PyThread_delete_key(int key)
 {
 	struct key *p, **q;
 	PyThread_acquire_lock(keymutex, 1);
@@ -493,7 +493,7 @@
 	PyThread_release_lock(keymutex);
 }
 
-int PyThread_set_key_value _P2(key, int key, value, void *value)
+int PyThread_set_key_value(int key, void *value)
 {
 	struct key *p = find_key(key, value);
 	if (p == NULL)
@@ -502,7 +502,7 @@
 		return 0;
 }
 
-void *PyThread_get_key_value _P1(key, int key)
+void *PyThread_get_key_value(int key)
 {
 	struct key *p = find_key(key, NULL);
 	if (p == NULL)
diff --git a/Python/thread_solaris.h b/Python/thread_solaris.h
index 15e286a..24ceef0 100644
--- a/Python/thread_solaris.h
+++ b/Python/thread_solaris.h
@@ -19,7 +19,7 @@
 /*
  * Initialization.
  */
-static void PyThread__init_thread _P0()
+static void PyThread__init_thread(void)
 {
 }
 
@@ -27,13 +27,14 @@
  * Thread support.
  */
 struct func_arg {
-	void (*func) _P((void *));
+	void (*func)(void *);
 	void *arg;
 };
 
-static void *new_func _P1(funcarg, void *funcarg)
+static void *
+new_func(void *funcarg)
 {
-	void (*func) _P((void *));
+	void (*func)(void *);
 	void *arg;
 
 	func = ((struct func_arg *) funcarg)->func;
@@ -44,7 +45,8 @@
 }
 
 
-int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int 
+PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
 	struct func_arg *funcarg;
 	int success = 0;	/* init not needed when SOLARIS_THREADS and */
@@ -65,14 +67,16 @@
 	return success < 0 ? 0 : 1;
 }
 
-long PyThread_get_thread_ident _P0()
+long
+PyThread_get_thread_ident(void)
 {
 	if (!initialized)
 		PyThread_init_thread();
 	return thr_self();
 }
 
-static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
+static void 
+do_PyThread_exit_thread(int no_cleanup)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 	if (!initialized)
@@ -83,18 +87,21 @@
 	thr_exit(0);
 }
 
-void PyThread_exit_thread _P0()
+void 
+PyThread_exit_thread(void)
 {
 	do_PyThread_exit_thread(0);
 }
 
-void PyThread__exit_thread _P0()
+void 
+PyThread__exit_thread(void)
 {
 	do_PyThread_exit_thread(1);
 }
 
 #ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void 
+do_PyThread_exit_prog(int status, int no_cleanup)
 {
 	dprintf(("PyThread_exit_prog(%d) called\n", status));
 	if (!initialized)
@@ -108,12 +115,14 @@
 		exit(status);
 }
 
-void PyThread_exit_prog _P1(status, int status)
+void 
+PyThread_exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(status, int status)
+void 
+PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
@@ -122,7 +131,8 @@
 /*
  * Lock support.
  */
-PyThread_type_lock PyThread_allocate_lock _P0()
+PyThread_type_lock 
+PyThread_allocate_lock(void)
 {
 	mutex_t *lock;
 
@@ -140,14 +150,16 @@
 	return (PyThread_type_lock) lock;
 }
 
-void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
+void 
+PyThread_free_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_free_lock(%p) called\n", lock));
 	mutex_destroy((mutex_t *) lock);
 	free((void *) lock);
 }
 
-int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
+int 
+PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
 {
 	int success;
 
@@ -164,7 +176,8 @@
 	return success;
 }
 
-void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
+void 
+PyThread_release_lock(PyThread_type_lock lock)
 {
 	dprintf(("PyThread_release_lock(%p) called\n", lock));
 	if (mutex_unlock((mutex_t *) lock))
@@ -174,7 +187,8 @@
 /*
  * Semaphore support.
  */
-PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
+PyThread_type_sema 
+PyThread_allocate_sema(int value)
 {
 	sema_t *sema;
 	dprintf(("PyThread_allocate_sema called\n"));
@@ -191,7 +205,8 @@
 	return (PyThread_type_sema) sema;
 }
 
-void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
+void 
+PyThread_free_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_free_sema(%p) called\n",  sema));
 	if (sema_destroy((sema_t *) sema))
@@ -199,7 +214,8 @@
 	free((void *) sema);
 }
 
-int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
+int 
+PyThread_down_sema(PyThread_type_sema sema, int waitflag)
 {
 	int success;
 
@@ -220,7 +236,8 @@
 	return success;
 }
 
-void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
+void 
+PyThread_up_sema(PyThread_type_sema sema)
 {
 	dprintf(("PyThread_up_sema(%p)\n",  sema));
 	if (sema_post((sema_t *) sema))
diff --git a/Python/thread_wince.h b/Python/thread_wince.h
index a5423f6..efce15c 100644
--- a/Python/thread_wince.h
+++ b/Python/thread_wince.h
@@ -99,7 +99,7 @@
 	do_PyThread_exit_prog(status, 0);
 }
 
-void PyThread__exit_prog _P1(int status)
+void PyThread__exit_prog(int status)
 {
 	do_PyThread_exit_prog(status, 1);
 }
diff --git a/Python/traceback.c b/Python/traceback.c
index 8f6ff72..15b18b4 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -36,16 +36,13 @@
 };
 
 static PyObject *
-tb_getattr(tb, name)
-	tracebackobject *tb;
-	char *name;
+tb_getattr(tracebackobject *tb, char *name)
 {
 	return PyMember_Get((char *)tb, tb_memberlist, name);
 }
 
 static void
-tb_dealloc(tb)
-	tracebackobject *tb;
+tb_dealloc(tracebackobject *tb)
 {
 	Py_TRASHCAN_SAFE_BEGIN(tb)
 	Py_XDECREF(tb->tb_next);
@@ -75,10 +72,8 @@
 };
 
 static tracebackobject *
-newtracebackobject(next, frame, lasti, lineno)
-	tracebackobject *next;
-	PyFrameObject *frame;
-	int lasti, lineno;
+newtracebackobject(tracebackobject *next, PyFrameObject *frame, int lasti,
+		   int lineno)
 {
 	tracebackobject *tb;
 	if ((next != NULL && !is_tracebackobject(next)) ||
@@ -99,8 +94,7 @@
 }
 
 int
-PyTraceBack_Here(frame)
-	PyFrameObject *frame;
+PyTraceBack_Here(PyFrameObject *frame)
 {
 	PyThreadState *tstate = frame->f_tstate;
 	tracebackobject *oldtb = (tracebackobject *) tstate->curexc_traceback;
@@ -114,11 +108,7 @@
 }
 
 static int
-tb_displayline(f, filename, lineno, name)
-	PyObject *f;
-	char *filename;
-	int lineno;
-	char *name;
+tb_displayline(PyObject *f, char *filename, int lineno, char *name)
 {
 	int err = 0;
 	FILE *xfp;
@@ -206,10 +196,7 @@
 }
 
 static int
-tb_printinternal(tb, f, limit)
-	tracebackobject *tb;
-	PyObject *f;
-	int limit;
+tb_printinternal(tracebackobject *tb, PyObject *f, int limit)
 {
 	int err = 0;
 	int depth = 0;
@@ -238,9 +225,7 @@
 }
 
 int
-PyTraceBack_Print(v, f)
-	PyObject *v;
-	PyObject *f;
+PyTraceBack_Print(PyObject *v, PyObject *f)
 {
 	int err;
 	PyObject *limitv;