There was an error on exit if no sys.exitfunc was defined. Issue 1647.
Backport r60227
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 06e4ad4..f8931b3 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -3,6 +3,9 @@
*Release date: XX-FEB-2008*
+- There was an error on exit if no sys.exitfunc was defined. Issue 1647.
+ (backport r60227)
+
- Could not open files in .idlerc directory if latter was hidden on Windows.
Issue 1743, Issue 1862. (backport r60225, r60745)
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index ae810c4..5560af8 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -205,7 +205,10 @@
"""
if no_exitfunc:
- del sys.exitfunc
+ try:
+ del sys.exitfunc
+ except AttributeError:
+ pass
sys.exit(0)
class MyRPCServer(rpc.RPCServer):