bpo-34170: Py_Main() updates config when setting Py_InspectFlag (GH-8… · python/cpython@a4d20b2 (original) (raw)

Original file line number Diff line number Diff line change
@@ -1588,6 +1588,7 @@ pymain_run_filename(_PyMain *pymain, _PyCoreConfig *config,
1588 1588 {
1589 1589 if (pymain->filename == NULL && pymain->stdin_is_interactive) {
1590 1590 Py_InspectFlag = 0; /* do exit on SystemExit */
1591 +config->inspect = 0;
1591 1592 pymain_run_startup(pymain, config, cf);
1592 1593 pymain_run_interactive_hook();
1593 1594 }
@@ -1614,13 +1615,15 @@ pymain_repl(_PyMain *pymain, _PyCoreConfig *config, PyCompilerFlags *cf)
1614 1615 opportunity to set it from Python. */
1615 1616 if (!Py_InspectFlag && config_get_env_var(config, "PYTHONINSPECT")) {
1616 1617 Py_InspectFlag = 1;
1618 +config->inspect = 1;
1617 1619 }
1618 1620
1619 1621 if (!(Py_InspectFlag && pymain->stdin_is_interactive && RUN_CODE(pymain))) {
1620 1622 return;
1621 1623 }
1622 1624
1623 1625 Py_InspectFlag = 0;
1626 +config->inspect = 0;
1624 1627 pymain_run_interactive_hook();
1625 1628
1626 1629 int res = PyRun_AnyFileFlags(stdin, "", cf);