Keep IDLE from displaying spurious SystemExit tracebacks
when running scripts that terminated by raising SystemExit
(i.e. unittest and turtledemo).
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index acae3ae..e82ebf4 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -301,11 +301,14 @@
exec code in self.locals
finally:
interruptable = False
+ except SystemExit:
+ # Scripts that raise SystemExit should just
+ # return to the interactive prompt
+ pass
except:
self.usr_exc_info = sys.exc_info()
if quitting:
exit()
- # even print a user code SystemExit exception, continue
print_exception()
jit = self.rpchandler.console.getvar("<<toggle-jit-stack-viewer>>")
if jit: