Terry J. Reedy <tjre...@udel.edu> 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 <rep...@bugs.python.org>
<https://bugs.python.org/issue43654>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to