diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 9675da5..618587a 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -73,7 +73,7 @@
     {
       PyObject *v;
 
-      v = strobject (value);
+      v = PyObject_Str (value);
       PyList_Append (tmp, v);
       Py_DECREF (v);
       return PyString_AsString (v);
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 735c615..68070ae 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -56,12 +56,12 @@
 #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));
+static object *newarrayobject PROTO((int, struct arraydescr *));
+static int getarraysize PROTO((object *));
+static object *getarrayitem PROTO((object *, int));
 static int setarrayitem PROTO((object *, int, object *));
-extern int insarrayitem PROTO((object *, int, object *));
-extern int addarrayitem PROTO((object *, object *));
+static int insarrayitem PROTO((object *, int, object *));
+static int addarrayitem PROTO((object *, object *));
 
 static object *
 c_getitem(ap, i)
diff --git a/Modules/audioop.c b/Modules/audioop.c
index 640e816..f866e98 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -44,7 +44,7 @@
 #define MAXLIN 32767
 #define LINCLIP(x) do { if ( x < MINLIN ) x = MINLIN ; else if ( x > MAXLIN ) x = MAXLIN; } while ( 0 )
 
-unsigned char st_linear_to_ulaw( /* int sample */ );
+static unsigned char st_linear_to_ulaw( /* int sample */ );
 
 /*
 ** This macro converts from ulaw to 16 bit linear, faster.
@@ -95,7 +95,7 @@
 #define BIAS 0x84   /* define the add-in bias for 16 bit samples */
 #define CLIP 32635
 
-unsigned char
+static unsigned char
 st_linear_to_ulaw( sample )
 int sample;
     {
@@ -297,7 +297,7 @@
     return newintobject(val);
 }
 
-double _sum2(a, b, len)
+static double _sum2(a, b, len)
     short *a;
     short *b;
     int len;
diff --git a/Modules/newmodule.c b/Modules/newmodule.c
index 4c8b16d..5a6e32c 100644
--- a/Modules/newmodule.c
+++ b/Modules/newmodule.c
@@ -26,7 +26,6 @@
 
 #include "allobjects.h"
 #include "compile.h"
-#include "modsupport.h"
 
 static char new_im_doc[] =
 "Create a instance method object from (FUNCTION, INSTANCE, CLASS).";
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index 0d95bcc..1d2fe13 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -31,7 +31,7 @@
 #include "graminit.h"
 #include "errcode.h"
 
-object *
+static object *
 node2tuple(n)
 	node *n;
 {
