diff --git a/Include/ceval.h b/Include/ceval.h
index a6948f1..1c830c3 100644
--- a/Include/ceval.h
+++ b/Include/ceval.h
@@ -35,7 +35,6 @@
 object *getglobals PROTO((void));
 object *getlocals PROTO((void));
 object *getowner PROTO((void));
-void mergelocals PROTO((void));
 
 void printtraceback PROTO((object *));
 void flushline PROTO((void));
diff --git a/Include/longobject.h b/Include/longobject.h
index 7566a38..1b048fd 100644
--- a/Include/longobject.h
+++ b/Include/longobject.h
@@ -41,7 +41,6 @@
 extern long getlongvalue PROTO((object *));
 extern double dgetlongvalue PROTO((object *));
 
-object *long_format PROTO((object *, int));
 object *long_scan PROTO((char *, int));
 
 #ifdef __cplusplus
diff --git a/Include/node.h b/Include/node.h
index bfae7da..84238df 100644
--- a/Include/node.h
+++ b/Include/node.h
@@ -61,7 +61,6 @@
 #endif
 
 extern void listtree PROTO((node *));
-extern void listnode PROTO((FILE *, node *));
 
 #ifdef __cplusplus
 }
diff --git a/Include/pythonrun.h b/Include/pythonrun.h
index cc5bb05..e25a3de 100644
--- a/Include/pythonrun.h
+++ b/Include/pythonrun.h
@@ -42,12 +42,8 @@
 int parse_string PROTO((char *, int, struct _node **));
 int parse_file PROTO((FILE *, char *, int, struct _node **));
 
-object *eval_node PROTO((struct _node *, char *, object *, object *));
-
 object *run_string PROTO((char *, int, object *, object *));
 object *run_file PROTO((FILE *, char *, int, object *, object *));
-object *run_err_node PROTO((int, struct _node *, char *, object *, object *));
-object *run_node PROTO((struct _node *, char *, object *, object *));
 
 object *compile_string PROTO((char *, char *, int));
 
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 93c0735..00f2477 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -66,10 +66,11 @@
 
 #define is_arrayobject(op) ((op)->ob_type == &Arraytype)
 
+/* Forward */
 extern object *newarrayobject PROTO((int, struct arraydescr *));
 extern int getarraysize PROTO((object *));
 extern object *getarrayitem PROTO((object *, int));
-extern int setarrayitem PROTO((object *, int, object *));
+static int setarrayitem PROTO((object *, int, object *));
 extern int insarrayitem PROTO((object *, int, object *));
 extern int addarrayitem PROTO((object *, object *));
 
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 8c0b6c1..3e12639 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -39,6 +39,7 @@
 static longobject *mul1 PROTO((longobject *, wdigit));
 static longobject *muladd1 PROTO((longobject *, wdigit, wdigit));
 static longobject *divrem1 PROTO((longobject *, wdigit, digit *));
+static object *long_format PROTO((object *aa, int base));
 
 static int ticker;	/* XXX Could be shared with ceval? */
 
diff --git a/Objects/methodobject.c b/Objects/methodobject.c
index 102e577..0a56161 100644
--- a/Objects/methodobject.c
+++ b/Objects/methodobject.c
@@ -161,7 +161,7 @@
 	meth_hash,	/*tp_hash*/
 };
 
-object *listmethods PROTO((struct methodlist *)); /* Forward */
+static object *listmethods PROTO((struct methodlist *)); /* Forward */
 
 static object *
 listmethods(ml)
diff --git a/Parser/listnode.c b/Parser/listnode.c
index a914bab..d566e78 100644
--- a/Parser/listnode.c
+++ b/Parser/listnode.c
@@ -30,6 +30,7 @@
 
 /* Forward */
 static void list1node PROTO((FILE *, node *));
+static void listnode PROTO((FILE *, node *));
 
 void
 listtree(n)
diff --git a/Python/ceval.c b/Python/ceval.c
index 329494e..324ecdf 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -94,6 +94,7 @@
 static void fast_2_locals PROTO((frameobject *));
 static int access_statement PROTO((object *, object *, frameobject *));
 static int exec_statement PROTO((object *, object *, object *));
+static void mergelocals PROTO(());
 
 
 /* Pointer to current frame, used to link new frames to */
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 6661a19..56254ac 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -51,7 +51,14 @@
 
 extern grammar gram; /* From graminit.c */
 
-void initsigs(); /* Forward */
+/* Forward */
+static object *run_err_node PROTO((int err, node *n, char *filename,
+				   object *globals, object *locals));
+static object *run_node PROTO((node *n, char *filename,
+			       object *globals, object *locals));
+static object *eval_node PROTO((node *n, char *filename,
+				object *globals, object *locals));
+void initsigs PROTO(());
 
 int debugging; /* Needed by parser.c */
 int verbose; /* Needed by import.c */
