Terry J. Reedy <[email protected]> added the comment:
Currently, the keys that define certain pseudoevents and invoke the associated
event handlers are fixed: tab, '.', and within strings, '/' and '\' for
completions, '(' and ')' for calltip open and close, and ')', ']', and '}' for
opener matching. Note that quote matching is indicated by coloring completed
strings.
PR-26421 proposes to augment this list with tab for smart indent, backspace for
smart backspace, and newline for completing a line and maybe smart indenting.
In other words, remove the following 3 lines
'<<smart-backspace>>': ['<Key-BackSpace>'],
'<<newline-and-indent>>': ['<Key-Return>', '<Key-KP_Enter>'],
'<<smart-indent>>': ['<Key-Tab>'],
from config-keys.def and the Settings Keys tab and add them as fixed binding to
EditorWindow.__init__ just above the existing fixed pseudoevent -- keys
bindings.
Only fixing smart-indent and tab (or unfixing name-completion and tab) is
needed to keep name completion working after re-doing setting. So why all
three? 1. These three pairs go together; I don't see anything else that should
be fixed. 2. By the standard used to fix some pairs already, these three
should be also. I think it an accident of IDLE's history that they aren't*.
3. It might be that changing either of the other two binding could disable
something, or might in the future. In other words, I consider having this
bindings be mutable to be a bit buggy, with this issue being evidence.
* Multiple coders, coding convenience, shift of focus from 'consenting adults
to 'beginners'?
The unknown is whether anyone has changed these pseudoevent bindings and if so,
how much do we care?
Guido, do you have any comment on this proposal from a change policy
perspective?
----------
nosy: +gvanrossum
title: IDLE: Applying settings disables tab completion -> IDLE: Fix tab
completion after settings and some keys
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue43654>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com