summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/autocomplete.py
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2016-07-25 03:01:28 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2016-07-25 03:01:28 (GMT)
commitc665dfd73e330213008f6422c25b5a115a541776 (patch)
tree42b888927fcfda7b7bc7241388c1f54012bfe4d8 /Lib/idlelib/autocomplete.py
parent996d72bccf2bc6d7d0be2ae1280186e68a0a1663 (diff)
downloadcpython-c665dfd73e330213008f6422c25b5a115a541776.zip
cpython-c665dfd73e330213008f6422c25b5a115a541776.tar.gz
cpython-c665dfd73e330213008f6422c25b5a115a541776.tar.bz2
Issue #19198: IDLE: tab after initial whitespace should tab, not autocomplete.
Fixes problem with writing docstrings at lease twice indented.
Diffstat (limited to 'Lib/idlelib/autocomplete.py')
-rw-r--r--Lib/idlelib/autocomplete.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/Lib/idlelib/autocomplete.py b/Lib/idlelib/autocomplete.py
index 1c0b12d..1200008 100644
--- a/Lib/idlelib/autocomplete.py
+++ b/Lib/idlelib/autocomplete.py
@@ -78,16 +78,17 @@ class AutoComplete:
open a completion list after that (if there is more than one
completion)
"""
- if hasattr(event, "mc_state") and event.mc_state:
- # A modifier was pressed along with the tab, continue as usual.
+ if hasattr(event, "mc_state") and event.mc_state or\
+ not self.text.get("insert linestart", "insert").strip():
+ # A modifier was pressed along with the tab or
+ # there is only previous whitespace on this line, so tab.
return None
if self.autocompletewindow and self.autocompletewindow.is_active():
self.autocompletewindow.complete()
return "break"
else:
opened = self.open_completions(False, True, True)
- if opened:
- return "break"
+ return "break" if opened else None
def _open_completions_later(self, *args):
self._delayed_completion_index = self.text.index("insert")