[issue14782] Tabcompletion of classes with static methods and __call__ has extra bracket
report at bugs.python.org
Fri May 11 14:16:26 CEST 2012
New submission from w.pettersson <william.pettersson at gmail.com>:
With tab completion enabled via rlcompleter and readline, tab-completion will assume anything that is callable (by callable(val)) is going to be called. For example, the below code defines a class "CCC" that is callable and has a static function. However, typing
and then pressing tab results in the following.
Note the extra parentheses. It would be nice if these weren't added if the object also has some other reasonable choices.
However, I don't know what would be "reasonable" here. Somehow we'd have to detect whether a callable class has static methods, possibly via dir() or directly checking class.__dict__ but at this point I am not comfortable enough with python to suggest decent solutions.
>>> class CCC:
... def __call__(self):
... print "call"
... def f(a):
... print "Static",a
components: Library (Lib)
title: Tabcompletion of classes with static methods and __call__ has extra bracket
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list