[Python-checkins] cpython (merge 3.5 -> default): Merge 3.5
yury.selivanov
python-checkins at python.org
Thu Feb 4 14:08:30 EST 2016
https://hg.python.org/cpython/rev/d00a1c46fff7
changeset: 100159:d00a1c46fff7
parent: 100157:7fb10bdbe01b
parent: 100158:980ea968444c
user: Yury Selivanov <yselivanov at sprymix.com>
date: Thu Feb 04 14:08:23 2016 -0500
summary:
Merge 3.5
files:
Lib/rlcompleter.py | 12 ++++++++----
Lib/test/test_rlcompleter.py | 1 +
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py
--- a/Lib/rlcompleter.py
+++ b/Lib/rlcompleter.py
@@ -75,9 +75,12 @@
if not text.strip():
if state == 0:
- readline.insert_text('\t')
- readline.redisplay()
- return ''
+ if _readline_available:
+ readline.insert_text('\t')
+ readline.redisplay()
+ return ''
+ else:
+ return '\t'
else:
return None
@@ -192,10 +195,11 @@
try:
import readline
except ImportError:
- pass
+ _readline_available = False
else:
readline.set_completer(Completer().complete)
# Release references early at shutdown (the readline module's
# contents are quasi-immortal, and the completer function holds a
# reference to globals).
atexit.register(lambda: readline.set_completer(None))
+ _readline_available = True
diff --git a/Lib/test/test_rlcompleter.py b/Lib/test/test_rlcompleter.py
--- a/Lib/test/test_rlcompleter.py
+++ b/Lib/test/test_rlcompleter.py
@@ -101,6 +101,7 @@
completer = rlcompleter.Completer(dict(f=Foo()))
self.assertEqual(completer.complete('f.', 0), 'f.bar')
+ @unittest.mock.patch('rlcompleter._readline_available', False)
def test_complete(self):
completer = rlcompleter.Completer()
self.assertEqual(completer.complete('', 0), '\t')
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list