summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/idlelib/run.py5
-rw-r--r--Misc/NEWS2
2 files changed, 7 insertions, 0 deletions
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index d105912..88da23b 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -297,6 +297,11 @@ class MyHandler(rpc.RPCHandler):
# page help() text to shell.
import pydoc # import must be done here to capture i/o binding
pydoc.pager = pydoc.plainpager
+
+ # Keep a reference to stdin so that it won't try to exit IDLE if
+ # sys.stdin gets changed from within IDLE's shell. See issue17838.
+ self._keep_stdin = sys.stdin
+
self.interp = self.get_remote_proxy("interp")
rpc.RPCHandler.getresponse(self, myseq=None, wait=0.05)
diff --git a/Misc/NEWS b/Misc/NEWS
index 10f00a4..c76a852 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -118,6 +118,8 @@ Library
IDLE
----
+- Issue #17838: Allow sys.stdin to be reassigned.
+
- Issue #14735: Update IDLE docs to omit "Control-z on Windows".
- Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit().