diff options
author | Georg Brandl <georg@python.org> | 2008-05-11 21:03:42 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-05-11 21:03:42 (GMT) |
commit | 627a666db05a0a70ac54fe6456719ee0530b5df7 (patch) | |
tree | 7dbd04460e4d144c8e06c1163c75599a17df25e8 | |
parent | ecbbd94e71d5e7dcf68d344f77b7a24331823dfc (diff) | |
download | cpython-627a666db05a0a70ac54fe6456719ee0530b5df7.zip cpython-627a666db05a0a70ac54fe6456719ee0530b5df7.tar.gz cpython-627a666db05a0a70ac54fe6456719ee0530b5df7.tar.bz2 |
- #2250: Exceptions raised during evaluation of names in rlcompleter's
``Completer.complete()`` method are now caught and ignored.
-rw-r--r-- | Doc/library/rlcompleter.rst | 3 | ||||
-rw-r--r-- | Lib/rlcompleter.py | 5 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 9 insertions, 2 deletions
diff --git a/Doc/library/rlcompleter.rst b/Doc/library/rlcompleter.rst index b882cb0..6816d39 100644 --- a/Doc/library/rlcompleter.rst +++ b/Doc/library/rlcompleter.rst @@ -61,5 +61,6 @@ Completer objects have the following method: If called for a dotted name, it will try to evaluate anything without obvious side-effects (functions will not be evaluated, but it can generate calls to :meth:`__getattr__`) up to the last part, and find matches for the rest via the - :func:`dir` function. + :func:`dir` function. Any exception raised during the evaluation of the + expression is caught, silenced and :const:`None` is returned. diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py index a2d5fe6..36965e6 100644 --- a/Lib/rlcompleter.py +++ b/Lib/rlcompleter.py @@ -127,7 +127,10 @@ class Completer: if not m: return [] expr, attr = m.group(1, 3) - object = eval(expr, self.namespace) + try: + object = eval(expr, self.namespace) + except Exception: + return [] words = dir(object) if hasattr(object,'__class__'): words.append('__class__') @@ -23,6 +23,9 @@ Extension Modules Library ------- +- #2250: Exceptions raised during evaluation of names in rlcompleter's + ``Completer.complete()`` method are now caught and ignored. + - #2659: Added ``break_on_hyphens`` option to textwrap TextWrapper class. - The mhlib module has been deprecated for removal in Python 3.0. |