From 7e7e49be78e26d0a3b861a04bbec1635aabb71b9 Mon Sep 17 00:00:00 2001 From: Zhikang Yan <2951256653@qq.com> Date: Sat, 3 May 2025 01:03:32 +0800 Subject: gh-112936: Fix IDLE: no Shell menu item in single-process mode (GH-126598) --- Lib/idlelib/pyshell.py | 12 ++++++++---- .../next/IDLE/2024-11-08-18-07-13.gh-issue-112936.1Q2RcP.rst | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/IDLE/2024-11-08-18-07-13.gh-issue-112936.1Q2RcP.rst diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py index 295d06e..60b63d5 100755 --- a/Lib/idlelib/pyshell.py +++ b/Lib/idlelib/pyshell.py @@ -877,10 +877,9 @@ class PyShell(OutputWindow): from idlelib.sidebar import ShellSidebar def __init__(self, flist=None): - if use_subprocess: - ms = self.menu_specs - if ms[2][0] != "shell": - ms.insert(2, ("shell", "She_ll")) + ms = self.menu_specs + if ms[2][0] != "shell": + ms.insert(2, ("shell", "She_ll")) self.interp = ModifiedInterpreter(self) if flist is None: root = Tk() @@ -954,6 +953,11 @@ class PyShell(OutputWindow): self.text.insert = self.per.top.insert self.per.insertfilter(UserInputTaggingDelegator()) + if not use_subprocess: + # Menu options "View Last Restart" and "Restart Shell" are disabled + self.update_menu_state("shell", 0, "disabled") + self.update_menu_state("shell", 1, "disabled") + def ResetFont(self): super().ResetFont() diff --git a/Misc/NEWS.d/next/IDLE/2024-11-08-18-07-13.gh-issue-112936.1Q2RcP.rst b/Misc/NEWS.d/next/IDLE/2024-11-08-18-07-13.gh-issue-112936.1Q2RcP.rst new file mode 100644 index 0000000..8536e38 --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2024-11-08-18-07-13.gh-issue-112936.1Q2RcP.rst @@ -0,0 +1 @@ +fix IDLE: no Shell menu item in single-process mode. -- cgit v0.12