Nuke all remaining occurrences of Py_PROTO and Py_FPROTO.
diff --git a/Parser/acceler.c b/Parser/acceler.c
index b20322d..177bb49 100644
--- a/Parser/acceler.c
+++ b/Parser/acceler.c
@@ -26,8 +26,8 @@
 #include "parser.h"
 
 /* Forward references */
-static void fixdfa Py_PROTO((grammar *, dfa *));
-static void fixstate Py_PROTO((grammar *, state *));
+static void fixdfa(grammar *, dfa *);
+static void fixstate(grammar *, state *);
 
 void
 PyGrammar_AddAccelerators(g)
diff --git a/Parser/firstsets.c b/Parser/firstsets.c
index c7127c1..b27ed2e 100644
--- a/Parser/firstsets.c
+++ b/Parser/firstsets.c
@@ -17,7 +17,7 @@
 extern int Py_DebugFlag;
 
 /* Forward */
-static void calcfirstset Py_PROTO((grammar *, dfa *));
+static void calcfirstset(grammar *, dfa *);
 
 void
 addfirstsets(g)
diff --git a/Parser/grammar.c b/Parser/grammar.c
index 6fbb843..1a50786 100644
--- a/Parser/grammar.c
+++ b/Parser/grammar.c
@@ -142,7 +142,7 @@
 }
 
 /* Forward */
-static void translabel Py_PROTO((grammar *, label *));
+static void translabel(grammar *, label *);
 
 void
 translatelabels(g)
diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c
index 3d4a27f..5278d76 100644
--- a/Parser/intrcheck.c
+++ b/Parser/intrcheck.c
@@ -22,7 +22,7 @@
 #include "intrcheck.h"
 
 /* Copied here from ceval.h -- can't include that file. */
-int Py_AddPendingCall Py_PROTO((int (*func) Py_PROTO((ANY *)), ANY *arg));
+int Py_AddPendingCall(int (*func)(ANY *), ANY *arg);
 
 
 #ifdef QUICKWIN
@@ -152,7 +152,7 @@
 	int sig; /* Not used by required by interface */
 #endif /* _M_IX86 */
 {
-	extern void Py_Exit Py_PROTO((int));
+	extern void Py_Exit(int);
 	static char message[] =
 "python: to interrupt a truly hanging Python program, interrupt once more.\n";
 	switch (interrupted++) {
diff --git a/Parser/listnode.c b/Parser/listnode.c
index 24559f5..c7d5cfa 100644
--- a/Parser/listnode.c
+++ b/Parser/listnode.c
@@ -15,8 +15,8 @@
 #include "node.h"
 
 /* Forward */
-static void list1node Py_PROTO((FILE *, node *));
-static void listnode Py_PROTO((FILE *, node *));
+static void list1node(FILE *, node *);
+static void listnode(FILE *, node *);
 
 void
 PyNode_ListTree(n)
diff --git a/Parser/myreadline.c b/Parser/myreadline.c
index 96749b2..bb35000 100644
--- a/Parser/myreadline.c
+++ b/Parser/myreadline.c
@@ -118,7 +118,7 @@
 
    Note: Python expects in return a buffer allocated with PyMem_Malloc. */
 
-char *(*PyOS_ReadlineFunctionPointer) Py_PROTO((char *));
+char *(*PyOS_ReadlineFunctionPointer)(char *);
 
 
 /* Interface used by tokenizer.c and bltinmodule.c */
diff --git a/Parser/node.c b/Parser/node.c
index 5cef376..3a710ef 100644
--- a/Parser/node.c
+++ b/Parser/node.c
@@ -64,7 +64,7 @@
 }
 
 /* Forward */
-static void freechildren Py_PROTO((node *));
+static void freechildren(node *);
 
 
 void
diff --git a/Parser/parser.c b/Parser/parser.c
index fb1a051..ee40f21 100644
--- a/Parser/parser.c
+++ b/Parser/parser.c
@@ -33,7 +33,7 @@
 
 /* STACK DATA TYPE */
 
-static void s_reset Py_PROTO((stack *));
+static void s_reset(stack *);
 
 static void
 s_reset(s)
@@ -44,7 +44,7 @@
 
 #define s_empty(s) ((s)->s_top == &(s)->s_base[MAXSTACK])
 
-static int s_push Py_PROTO((stack *, dfa *, node *));
+static int s_push(stack *, dfa *, node *);
 
 static int
 s_push(s, d, parent)
@@ -66,7 +66,7 @@
 
 #ifdef Py_DEBUG
 
-static void s_pop Py_PROTO((stack *));
+static void s_pop(stack *);
 
 static void
 s_pop(s)
@@ -122,7 +122,7 @@
 
 /* PARSER STACK OPERATIONS */
 
-static int shift Py_PROTO((stack *, int, char *, int, int));
+static int shift(stack *, int, char *, int, int);
 
 static int
 shift(s, type, str, newstate, lineno)
@@ -141,7 +141,7 @@
 	return 0;
 }
 
-static int push Py_PROTO((stack *, int, dfa *, int, int));
+static int push(stack *, int, dfa *, int, int);
 
 static int
 push(s, type, d, newstate, lineno)
@@ -165,7 +165,7 @@
 
 /* PARSER PROPER */
 
-static int classify Py_PROTO((grammar *, int, char *));
+static int classify(grammar *, int, char *);
 
 static int
 classify(g, type, str)
diff --git a/Parser/parser.h b/Parser/parser.h
index 0fd0081..6087373 100644
--- a/Parser/parser.h
+++ b/Parser/parser.h
@@ -36,11 +36,10 @@
 	node		*p_tree;	/* Top of parse tree */
 } parser_state;
 
-parser_state *PyParser_New Py_PROTO((grammar *g, int start));
-void PyParser_Delete Py_PROTO((parser_state *ps));
-int PyParser_AddToken
-	Py_PROTO((parser_state *ps, int type, char *str, int lineno));
-void PyGrammar_AddAccelerators Py_PROTO((grammar *g));
+parser_state *PyParser_New(grammar *g, int start);
+void PyParser_Delete(parser_state *ps);
+int PyParser_AddToken(parser_state *ps, int type, char *str, int lineno);
+void PyGrammar_AddAccelerators(grammar *g);
 
 #ifdef __cplusplus
 }
diff --git a/Parser/parsetok.c b/Parser/parsetok.c
index 1d6e024..9ac1606 100644
--- a/Parser/parsetok.c
+++ b/Parser/parsetok.c
@@ -22,8 +22,7 @@
 
 
 /* Forward */
-static node *parsetok Py_PROTO((struct tok_state *, grammar *, int,
-			     perrdetail *));
+static node *parsetok(struct tok_state *, grammar *, int, perrdetail *);
 
 /* Parse input coming from a string.  Return error code, print some errors. */
 
diff --git a/Parser/pgen.c b/Parser/pgen.c
index 36279b0..e5d5d37 100644
--- a/Parser/pgen.c
+++ b/Parser/pgen.c
@@ -45,14 +45,14 @@
 } nfa;
 
 /* Forward */
-static void compile_rhs Py_PROTO((labellist *ll,
-			       nfa *nf, node *n, int *pa, int *pb));
-static void compile_alt Py_PROTO((labellist *ll,
-			       nfa *nf, node *n, int *pa, int *pb));
-static void compile_item Py_PROTO((labellist *ll,
-				nfa *nf, node *n, int *pa, int *pb));
-static void compile_atom Py_PROTO((labellist *ll,
-				nfa *nf, node *n, int *pa, int *pb));
+static void compile_rhs(labellist *ll,
+			nfa *nf, node *n, int *pa, int *pb);
+static void compile_alt(labellist *ll,
+			nfa *nf, node *n, int *pa, int *pb);
+static void compile_item(labellist *ll,
+			 nfa *nf, node *n, int *pa, int *pb);
+static void compile_atom(labellist *ll,
+			 nfa *nf, node *n, int *pa, int *pb);
 
 static int
 addnfastate(nf)
@@ -111,7 +111,7 @@
 } nfagrammar;
 
 /* Forward */
-static void compile_rule Py_PROTO((nfagrammar *gr, node *n));
+static void compile_rule(nfagrammar *gr, node *n);
 
 static nfagrammar *
 newnfagrammar()
@@ -420,10 +420,10 @@
 } ss_dfa;
 
 /* Forward */
-static void printssdfa Py_PROTO((int xx_nstates, ss_state *xx_state, int nbits,
-			      labellist *ll, char *msg));
-static void simplify Py_PROTO((int xx_nstates, ss_state *xx_state));
-static void convert Py_PROTO((dfa *d, int xx_nstates, ss_state *xx_state));
+static void printssdfa(int xx_nstates, ss_state *xx_state, int nbits,
+		       labellist *ll, char *msg);
+static void simplify(int xx_nstates, ss_state *xx_state);
+static void convert(dfa *d, int xx_nstates, ss_state *xx_state);
 
 static void
 makedfa(gr, nf, d)
diff --git a/Parser/pgen.h b/Parser/pgen.h
index a20a0c2..ddf52e6 100644
--- a/Parser/pgen.h
+++ b/Parser/pgen.h
@@ -16,10 +16,10 @@
 
 /* Parser generator interface */
 
-extern grammar *meta_grammar Py_PROTO((void));
+extern grammar *meta_grammar(void);
 
 struct _node;
-extern grammar *pgen Py_PROTO((struct _node *));
+extern grammar *pgen(struct _node *);
 
 #ifdef __cplusplus
 }
diff --git a/Parser/pgenmain.c b/Parser/pgenmain.c
index ef24d75..0562e39 100644
--- a/Parser/pgenmain.c
+++ b/Parser/pgenmain.c
@@ -32,10 +32,10 @@
 int Py_VerboseFlag;
 
 /* Forward */
-grammar *getgrammar Py_PROTO((char *filename));
+grammar *getgrammar(char *filename);
 #ifdef THINK_C
-int main Py_PROTO((int, char **));
-char *askfile Py_PROTO((void));
+int main(int, char **);
+char *askfile(void);
 #endif
 
 void
diff --git a/Parser/printgrammar.c b/Parser/printgrammar.c
index e3a87aa..5d1d9e0 100644
--- a/Parser/printgrammar.c
+++ b/Parser/printgrammar.c
@@ -14,10 +14,10 @@
 #include "grammar.h"
 
 /* Forward */
-static void printarcs Py_PROTO((int, dfa *, FILE *));
-static void printstates Py_PROTO((grammar *, FILE *));
-static void printdfas Py_PROTO((grammar *, FILE *));
-static void printlabels Py_PROTO((grammar *, FILE *));
+static void printarcs(int, dfa *, FILE *);
+static void printstates(grammar *, FILE *);
+static void printdfas(grammar *, FILE *);
+static void printlabels(grammar *, FILE *);
 
 void
 printgrammar(g, fp)
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index ef0d711..0ef3fc0 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -17,7 +17,7 @@
 #include "tokenizer.h"
 #include "errcode.h"
 
-extern char *PyOS_Readline Py_PROTO((char *));
+extern char *PyOS_Readline(char *);
 /* Return malloc'ed string including trailing \n;
    empty malloc'ed string for EOF;
    NULL if interrupted */
@@ -34,9 +34,9 @@
 #endif
 
 /* Forward */
-static struct tok_state *tok_new Py_PROTO((void));
-static int tok_nextc Py_PROTO((struct tok_state *tok));
-static void tok_backup Py_PROTO((struct tok_state *tok, int c));
+static struct tok_state *tok_new(void);
+static int tok_nextc(struct tok_state *tok);
+static void tok_backup(struct tok_state *tok, int c);
 
 /* Token names */
 
diff --git a/Parser/tokenizer.h b/Parser/tokenizer.h
index 0a717fe..93a04ab 100644
--- a/Parser/tokenizer.h
+++ b/Parser/tokenizer.h
@@ -49,11 +49,10 @@
 	int altindstack[MAXINDENT];	/* Stack of alternate indents */
 };
 
-extern struct tok_state *PyTokenizer_FromString Py_PROTO((char *));
-extern struct tok_state *PyTokenizer_FromFile
-	Py_PROTO((FILE *, char *, char *));
-extern void PyTokenizer_Free Py_PROTO((struct tok_state *));
-extern int PyTokenizer_Get Py_PROTO((struct tok_state *, char **, char **));
+extern struct tok_state *PyTokenizer_FromString(char *);
+extern struct tok_state *PyTokenizer_FromFile(FILE *, char *, char *);
+extern void PyTokenizer_Free(struct tok_state *);
+extern int PyTokenizer_Get(struct tok_state *, char **, char **);
 
 #ifdef __cplusplus
 }