##// END OF EJS Templates
FIX: correct handling of built-ins
Thomas A Caswell -
Show More
@@ -841,14 +841,18 b' class IPCompleter(Completer):'
841 call_obj = obj.__call__
841 call_obj = obj.__call__
842 ret += self._default_arguments_from_docstring(
842 ret += self._default_arguments_from_docstring(
843 getattr(call_obj, '__doc__', ''))
843 getattr(call_obj, '__doc__', ''))
844 try:
844
845 if PY3:
845 if PY3:
846 _keepers = (inspect.Parameter.KEYWORD_ONLY,
846 _keepers = (inspect.Parameter.KEYWORD_ONLY,
847 inspect.Parameter.POSITIONAL_OR_KEYWORD)
847 inspect.Parameter.POSITIONAL_OR_KEYWORD)
848 try:
848 sig = inspect.signature(call_obj)
849 sig = inspect.signature(call_obj)
849 ret.extend(k for k, v in sig.parameters.items() if
850 ret.extend(k for k, v in sig.parameters.items() if
850 v.kind in _keepers)
851 v.kind in _keepers)
852 except ValueError:
853 pass
851 else:
854 else:
855 try:
852 args, _, _1, defaults = inspect.getargspec(call_obj)
856 args, _, _1, defaults = inspect.getargspec(call_obj)
853 if defaults:
857 if defaults:
854 ret += args[-len(defaults):]
858 ret += args[-len(defaults):]
General Comments 0
You need to be logged in to leave comments. Login now