From 1b308613d57541f9ae33888eb4324c18fc200142 Mon Sep 17 00:00:00 2001 From: David Goncalves Date: Fri, 1 Apr 2022 17:16:01 -0700 Subject: [PATCH 1/2] bpo-12387: IDLE keyboard shortcuts work for non-Darwin systems irrespective of caps-lock state --- Lib/idlelib/config.py | 10 ++++++++++ Lib/idlelib/idle_test/test_config.py | 17 ----------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/Lib/idlelib/config.py b/Lib/idlelib/config.py index 5ce5f4a4f7bd0d..d35036412a8382 100644 --- a/Lib/idlelib/config.py +++ b/Lib/idlelib/config.py @@ -28,6 +28,7 @@ from configparser import ConfigParser import os import sys +import re from tkinter.font import Font import idlelib @@ -549,6 +550,15 @@ def GetCurrentKeySet(self): v2 = [ x.replace('' + + pat = '(?P<[A-Za-z-]+Key-)(?P[a-zA-Z])>' + for k, v in result.items(): + v2 = [re.sub(pat, replace, x) for x in v] + if v != v2: + v.extend(v2) return result diff --git a/Lib/idlelib/idle_test/test_config.py b/Lib/idlelib/idle_test/test_config.py index 697fda527968de..7c989b3c4a4aba 100644 --- a/Lib/idlelib/idle_test/test_config.py +++ b/Lib/idlelib/idle_test/test_config.py @@ -488,23 +488,6 @@ def test_get_keybinding(self): eq(conf.GetKeyBinding('NOT EXISTS', '<>'), []) eq(conf.GetKeyBinding('IDLE Modern Unix', 'NOT EXISTS'), []) - def test_get_current_keyset(self): - current_platform = sys.platform - conf = self.mock_config() - - # Ensure that platform isn't darwin - sys.platform = 'some-linux' - self.assertEqual(conf.GetCurrentKeySet(), conf.GetKeySet(conf.CurrentKeys())) - - # This should not be the same, since replace Date: Fri, 1 Apr 2022 18:20:31 -0700 Subject: [PATCH 2/2] patchcheck fixes --- Lib/idlelib/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/idlelib/config.py b/Lib/idlelib/config.py index d35036412a8382..804f9f61f60624 100644 --- a/Lib/idlelib/config.py +++ b/Lib/idlelib/config.py @@ -558,7 +558,7 @@ def replace(m): for k, v in result.items(): v2 = [re.sub(pat, replace, x) for x in v] if v != v2: - v.extend(v2) + v.extend(v2) return result