bpo-30860: Fix a refleak. (#3506)
* Drop warnoptions from PyInterpreterState.
* Drop xoptions from PyInterpreterState.
* Don't set warnoptions and _xoptions again.
* Decref after adding to sys.__dict__.
* Drop an unused macro.
* Check sys.xoptions *before* we delete it.
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index d1d4a69..df814fb 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -113,7 +113,10 @@
err = -1;
for (;;) {
ret = PyRun_InteractiveOneObject(fp, filename, flags);
- _PY_DEBUG_PRINT_TOTAL_REFS();
+#ifdef Py_REF_DEBUG
+ if (_PyDebug_XOptionShowRefCount() == Py_True)
+ _PyDebug_PrintTotalRefs();
+#endif
if (ret == E_EOF) {
err = 0;
break;