diff --git a/Include/cpython/pythonrun.h b/Include/cpython/pythonrun.h index fb617655374..3b2537e01b8 100644 --- a/Include/cpython/pythonrun.h +++ b/Include/cpython/pythonrun.h @@ -117,5 +117,4 @@ PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *fp, const char *p, int s, PyObject /* Stuff with no proper home (yet) */ PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, const char *); -PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState; PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *); diff --git a/Modules/readline.c b/Modules/readline.c index a592919692c..6729a09cb0d 100644 --- a/Modules/readline.c +++ b/Modules/readline.c @@ -1313,6 +1313,9 @@ rlhandler(char *text) static char * readline_until_enter_or_signal(const char *prompt, int *signal) { + // Defined in Parser/myreadline.c + extern PyThreadState *_PyOS_ReadlineTState; + char * not_done_reading = ""; fd_set selectset; diff --git a/Parser/myreadline.c b/Parser/myreadline.c index 7074aba74b7..81538738821 100644 --- a/Parser/myreadline.c +++ b/Parser/myreadline.c @@ -20,7 +20,9 @@ #endif /* MS_WINDOWS */ -PyThreadState* _PyOS_ReadlineTState = NULL; +// Export the symbol since it's used by the readline shared extension +PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState; +PyThreadState *_PyOS_ReadlineTState = NULL; static PyThread_type_lock _PyOS_ReadlineLock = NULL;