From: Terry Jan Reedy Date: Tue, 26 Mar 2019 23:58:19 +0000 (-0400) Subject: bpo-36429: Fix starting IDLE with pyshell (#12548) X-Git-Tag: v3.8.0a4~332 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a258c88906a7e8acde455ee2acb78b6f315ea0b;p=thirdparty%2FPython%2Fcpython.git bpo-36429: Fix starting IDLE with pyshell (#12548) Add idlelib.pyshell alias at top; remove pyshell alias at bottom. Remove obsolete __name__=='__main__' command. --- diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt index dbb3653bb4f4..be855bc46718 100644 --- a/Lib/idlelib/NEWS.txt +++ b/Lib/idlelib/NEWS.txt @@ -3,6 +3,15 @@ Released on 2019-10-20? ====================================== +bpo-36429: Fix starting IDLE with pyshell. +Add idlelib.pyshell alias at top; remove pyshell alias at bottom. +Remove obsolete __name__=='__main__' command. + +bpo-30348: Increase test coverage of idlelib.autocomplete by 30%. +Patch by Louie Lu. + +bpo-23205: Add tests and refactor grep's findfiles. + bpo-36405: Use dict unpacking in idlelib. bpo-36396: Remove fgBg param of idlelib.config.GetHighlight(). diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py index 11bafdb49aaa..2de42658b01c 100755 --- a/Lib/idlelib/pyshell.py +++ b/Lib/idlelib/pyshell.py @@ -1,6 +1,8 @@ #! /usr/bin/env python3 import sys +if __name__ == "__main__": + sys.modules['idlelib.pyshell'] = sys.modules['__main__'] try: from tkinter import * @@ -416,10 +418,7 @@ class ModifiedInterpreter(InteractiveInterpreter): # run from the IDLE source directory. del_exitf = idleConf.GetOption('main', 'General', 'delete-exitfunc', default=False, type='bool') - if __name__ == 'idlelib.pyshell': - command = "__import__('idlelib.run').run.main(%r)" % (del_exitf,) - else: - command = "__import__('run').main(%r)" % (del_exitf,) + command = "__import__('idlelib.run').run.main(%r)" % (del_exitf,) return [sys.executable] + w + ["-c", command, str(self.port)] def start_subprocess(self): @@ -1574,7 +1573,6 @@ def main(): capture_warnings(False) if __name__ == "__main__": - sys.modules['pyshell'] = sys.modules['__main__'] main() capture_warnings(False) # Make sure turned off; see issue 18081 diff --git a/Misc/NEWS.d/next/IDLE/2019-03-26-00-09-50.bpo-36429.w-jL2e.rst b/Misc/NEWS.d/next/IDLE/2019-03-26-00-09-50.bpo-36429.w-jL2e.rst new file mode 100644 index 000000000000..1d6bb1a587b5 --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2019-03-26-00-09-50.bpo-36429.w-jL2e.rst @@ -0,0 +1,2 @@ +Fix starting IDLE with pyshell. Add idlelib.pyshell alias at top; remove +pyshell alias at bottom. Remove obsolete __name__=='__main__' command.