bpo-34170: Py_Main() updates config when setting Py_InspectFlag (GH-8593)

This commit is contained in:
Victor Stinner 2018-08-01 02:57:45 +02:00 committed by GitHub
parent b75d7e2435
commit a4d20b2e5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 0 deletions

View File

@ -1588,6 +1588,7 @@ pymain_run_filename(_PyMain *pymain, _PyCoreConfig *config,
{
if (pymain->filename == NULL && pymain->stdin_is_interactive) {
Py_InspectFlag = 0; /* do exit on SystemExit */
config->inspect = 0;
pymain_run_startup(pymain, config, cf);
pymain_run_interactive_hook();
}
@ -1614,6 +1615,7 @@ pymain_repl(_PyMain *pymain, _PyCoreConfig *config, PyCompilerFlags *cf)
opportunity to set it from Python. */
if (!Py_InspectFlag && config_get_env_var(config, "PYTHONINSPECT")) {
Py_InspectFlag = 1;
config->inspect = 1;
}
if (!(Py_InspectFlag && pymain->stdin_is_interactive && RUN_CODE(pymain))) {
@ -1621,6 +1623,7 @@ pymain_repl(_PyMain *pymain, _PyCoreConfig *config, PyCompilerFlags *cf)
}
Py_InspectFlag = 0;
config->inspect = 0;
pymain_run_interactive_hook();
int res = PyRun_AnyFileFlags(stdin, "<stdin>", cf);