Use appropriate macros not the deprecated DL_IMPORT/DL_EXPORT macros
diff --git a/Include/pyerrors.h b/Include/pyerrors.h
index a4ab62a..1715e97 100644
--- a/Include/pyerrors.h
+++ b/Include/pyerrors.h
@@ -63,7 +63,7 @@
 PyAPI_DATA(PyObject *) PyExc_WindowsError;
 #endif
 #ifdef __VMS
-extern DL_IMPORT(PyObject *) PyExc_VMSError;
+PyAPI_DATA(PyObject *) PyExc_VMSError;
 #endif
 
 PyAPI_DATA(PyObject *) PyExc_MemoryErrorInst;
diff --git a/Include/stringobject.h b/Include/stringobject.h
index 7f67a1f..3deea8f 100644
--- a/Include/stringobject.h
+++ b/Include/stringobject.h
@@ -65,7 +65,7 @@
 PyAPI_FUNC(PyObject *) PyString_Format(PyObject *, PyObject *);
 PyAPI_FUNC(PyObject *) _PyString_FormatLong(PyObject*, int, int,
 						  int, char**, int*);
-extern DL_IMPORT(PyObject *) PyString_DecodeEscape(const char *, int, 
+PyAPI_FUNC(PyObject *) PyString_DecodeEscape(const char *, int, 
 						   const char *, int,
 						   const char *);
 
diff --git a/Modules/bz2module.c b/Modules/bz2module.c
index 83582bd..408c736 100644
--- a/Modules/bz2module.c
+++ b/Modules/bz2module.c
@@ -2167,7 +2167,7 @@
 sequential (de)compression.\n\
 ");
 
-DL_EXPORT(void)
+PyMODINIT_FUNC
 initbz2(void)
 {
 	PyObject *m;
diff --git a/Modules/readline.c b/Modules/readline.c
index bc8562e..a07b04a 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -32,8 +32,8 @@
 #endif
 
 /* Pointers needed from outside (but not declared in a header file). */
-extern DL_IMPORT(int) (*PyOS_InputHook)(void);
-extern DL_IMPORT(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *,char *);
+PyAPI_FUNC(int) (*PyOS_InputHook)(void);
+PyAPI_FUNC(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *,char *);
 
 
 /* Exported function to send one line to readline's init file parser */