This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients gvanrossum, taleinat, terry.reedy, tetelevm
Date 2021-06-02.01:40:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
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?
Date User Action Args
2021-06-02 01:40:18terry.reedysetrecipients: + terry.reedy, gvanrossum, taleinat, tetelevm
2021-06-02 01:40:18terry.reedysetmessageid: <>
2021-06-02 01:40:18terry.reedylinkissue43654 messages
2021-06-02 01:40:17terry.reedycreate