# HG changeset patch # Parent 401bb7ceb7e83fee2d149a6ef62c1f07a5c9bdde diff -r 401bb7ceb7e8 Lib/rlcompleter.py --- a/Lib/rlcompleter.py Mon Jul 27 16:48:06 2015 +0300 +++ b/Lib/rlcompleter.py Mon Jul 27 13:15:02 2015 -0700 @@ -73,6 +73,12 @@ if self.use_main_ns: self.namespace = __main__.__dict__ + if not text.strip(): + if state == 0: + return '\t' + else: + return None + if state == 0: if "." in text: self.matches = self.attr_matches(text) diff -r 401bb7ceb7e8 Lib/test/test_rlcompleter.py --- a/Lib/test/test_rlcompleter.py Mon Jul 27 16:48:06 2015 +0300 +++ b/Lib/test/test_rlcompleter.py Mon Jul 27 13:15:02 2015 -0700 @@ -64,5 +64,13 @@ ['egg.{}('.format(x) for x in dir(str) if x.startswith('s')]) + def test_complete(self): + completer = rlcompleter.Completer() + self.assertEqual(completer.complete('', 0), '\t') + self.assertEqual(completer.complete('a', 0), 'and') + self.assertEqual(completer.complete('a', 1), 'as') + self.assertEqual(completer.complete('as', 2), 'assert') + self.assertEqual(completer.complete('an', 0), 'and') + if __name__ == '__main__': unittest.main()