diff --git a/Mac/Include/macglue.h b/Mac/Include/macglue.h index 3a251e15447..372871e288d 100644 --- a/Mac/Include/macglue.h +++ b/Mac/Include/macglue.h @@ -129,6 +129,7 @@ int PyMac_setfiletype(char *, long, long); /* Set file creator and type */ /* from macmain.c: */ void PyMac_Exit(int); void PyMac_InitApplication(void); +void PyMac_OutputSeen(void); #ifdef USE_MAC_APPLET_SUPPORT void PyMac_InitApplet(void); #endif diff --git a/Mac/Modules/macosmodule.c b/Mac/Modules/macosmodule.c index 339de1a162b..b3dec5400d1 100644 --- a/Mac/Modules/macosmodule.c +++ b/Mac/Modules/macosmodule.c @@ -691,6 +691,18 @@ MacOS_KeepConsole(PyObject *self, PyObject *args) return Py_None; } +static char OutputSeen_doc[] = "Call to reset the 'unseen output' flag for the keep-console-open option"; + +static PyObject * +MacOS_OutputSeen(PyObject *self, PyObject *args) +{ + if (!PyArg_ParseTuple(args, "")) + return NULL; + PyMac_OutputSeen(); + Py_INCREF(Py_None); + return Py_None; +} + static PyMethodDef MacOS_Methods[] = { #if !TARGET_API_MAC_CARBON {"AcceptHighLevelEvent", MacOS_AcceptHighLevelEvent, 1, accepthle_doc}, @@ -711,6 +723,7 @@ static PyMethodDef MacOS_Methods[] = { {"MaxBlock", MacOS_MaxBlock, 1, MaxBlock_doc}, {"CompactMem", MacOS_CompactMem, 1, CompactMem_doc}, {"KeepConsole", MacOS_KeepConsole, 1, KeepConsole_doc}, + {"OutputSeen", MacOS_OutputSeen, 1, OutputSeen_doc}, {NULL, NULL} /* Sentinel */ }; diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c index 8d2d8f74bc9..a96af4b4462 100644 --- a/Mac/Python/macmain.c +++ b/Mac/Python/macmain.c @@ -538,6 +538,15 @@ Py_Main(argc, argv) /*NOTREACHED*/ } +/* +** Reset the "unseen output" flag +*/ +void +PyMac_OutputSeen() +{ + gusisioux_state = GUSISIOUX_STATE_LASTREAD; +} + /* ** Terminate application */