ipython/ipython — pull request #5782 by sunfinite (2014-05-04 09:56:57+00:00)
Title: Silence exception thrown by completer when dir() does not return a list

```python
In [1]: import SOAPpy

In [2]: s = SOAPpy.SOAPProxy('http://abc.com', namespace='xyz')

In [3]: s.Traceback (most recent call last):
File "IPython/core/completer.py", line 1043, in complete
self.matches.extend(matcher(text))
File "IPython/core/completer.py", line 725, in python_matches
matches = self.attr_matches(text)
File "IPython/core/completer.py", line 403, in attr_matches
words = dir2(obj)
File "IPython/utils/dir2.py", line 63, in dir2
words = set(dir(obj))
TypeError: __dir__() must return a list, not instance

If you suspect this is an IPython bug, please report it at:
https://github.com/ipython/ipython/issues
or send an email to the mailing list at ipython-dev@scipy.org

You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
%config Application.verbose_crash=True

File "", line 1
s.
^
SyntaxError: invalid syntax

In [4]: dir(s)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
----> 1 dir(s)

TypeError: __dir__() must return a list, not instance

In [5]: s.__dir__()
Out[5]:

In [6]:
```