report at bugs
May 11, 2012, 5:16 AM
Post #1 of 1
New submission from w.pettersson <william.pettersson [at] gmail>:
[issue14782] Tabcompletion of classes with static methods and __call__ has extra bracket
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-bugs-list mailing list