diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index c381f23b1e2..177e49e55e4 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -1365,6 +1365,9 @@ def readline(self, size=-1): self._line_buffer = line[size:] return line[:size] + def close(self): + self.shell.close() + usage_msg = """\ diff --git a/Lib/site.py b/Lib/site.py index b751006c88e..87687e7a1b6 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -369,12 +369,7 @@ def __call__(self, code=None): # Shells like IDLE catch the SystemExit, but listen when their # stdin wrapper is closed. try: - fd = -1 - if hasattr(sys.stdin, "fileno"): - fd = sys.stdin.fileno() - if fd != 0: - # Don't close stdin if it wraps fd 0 - sys.stdin.close() + sys.stdin.close() except: pass raise SystemExit(code) diff --git a/Misc/NEWS b/Misc/NEWS index b8f687b5569..ddfc7011983 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -46,6 +46,8 @@ Library IDLE ---- +- Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit(). + - Issue #17657: Show full Tk version in IDLE's about dialog. Patch by Todd Rovito.