diff --git a/Lib/idlelib/config-keys.def b/Lib/idlelib/config-keys.def index f71269b5b49f46..700832c42ca7aa 100644 --- a/Lib/idlelib/config-keys.def +++ b/Lib/idlelib/config-keys.def @@ -44,9 +44,6 @@ find-in-files= find-selection= replace= goto-line= -smart-backspace= -newline-and-indent= -smart-indent= indent-region= dedent-region= comment-region= @@ -104,9 +101,6 @@ find-in-files= find-selection= replace= goto-line= -smart-backspace= -newline-and-indent= -smart-indent= indent-region= dedent-region= comment-region= @@ -164,9 +158,6 @@ find-in-files = find-selection = replace = goto-line = -smart-backspace = -newline-and-indent = -smart-indent = indent-region = dedent-region = comment-region = @@ -224,9 +215,6 @@ find-in-files= find-selection= replace= goto-line= -smart-backspace= -newline-and-indent= -smart-indent= indent-region= dedent-region= comment-region= @@ -271,10 +259,8 @@ find-again = find = toggle-auto-coloring = select-all = -smart-backspace = change-indentwidth = do-nothing = -smart-indent = center-insert = history-next = del-word-right = @@ -288,7 +274,6 @@ copy = paste = indent-region = del-word-left = -newline-and-indent = end-of-file = open-class-browser = open-new-window = diff --git a/Lib/idlelib/config.py b/Lib/idlelib/config.py index 04444a3bf20b30..e4fc7da84ca36f 100644 --- a/Lib/idlelib/config.py +++ b/Lib/idlelib/config.py @@ -634,9 +634,6 @@ def GetCoreKeys(self, keySetName=None): '<>': [''], '<>': [''], '<>': [''], - '<>': [''], - '<>': ['', ''], - '<>': [''], '<>': [''], '<>': [''], '<>': [''], diff --git a/Lib/idlelib/editor.py b/Lib/idlelib/editor.py index fcc8a3f08ccfe3..91896fc58c5f13 100644 --- a/Lib/idlelib/editor.py +++ b/Lib/idlelib/editor.py @@ -299,6 +299,12 @@ def __init__(self, flist=None, filename=None, key=None, root=None): self.askyesno = messagebox.askyesno self.showerror = messagebox.showerror + # Bind keys to pseudoevents for non-configurable key-specific handlers. + text.event_add('<>', '') + text.event_add('<>', + '', '') + text.event_add('<>', '') + # Add pseudoevents for former extension fixed keys. # (This probably needs to be done once in the process.) text.event_add('<>', '') diff --git a/Misc/NEWS.d/next/IDLE/2021-05-28-09-28-45.bpo-43654.WYsKKG.rst b/Misc/NEWS.d/next/IDLE/2021-05-28-09-28-45.bpo-43654.WYsKKG.rst new file mode 100644 index 00000000000000..8f4e10beed892b --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2021-05-28-09-28-45.bpo-43654.WYsKKG.rst @@ -0,0 +1,5 @@ +Fix the config dialog breaking tab completion. This is achieved by removing +the key configuration options for ``<>`` (Tab), +``<>`` (Return, Enter) and ``<>`` +(Backspace) from the configuration mechanism, making them hard-coded +instead.