[IPython-dev] Should we disable autocall by default from now on?
Wed Nov 30 12:00:54 CST 2011
I think the question of multiline readline history in the terminal is
relevant. We turned it off for 0.11, and had fairly loud complaints about
it, so we've relented and turned it back on for 0.12. Of course, autocall
will be configurable, but I'd expect more complaints about it not being on
by default than about the issue with getattr affecting state.
We'd also have to make changes in tab completion, since at present it will
access each attribute when you do a.<tab>.
I maintain that altering state on attribute access, while it's perfectly
possible, is almost always a bad idea, for pretty much this reason: you can
do very useful things by assuming that you're free to inspect attributes.
Besides Traits, do we know what else does this? Maybe we should do the
simcity fix* and just avoid attribute access on objects with traits. Or is
there some way to detect without accessing it if an attribute is a
property, or if __getattribute__ has been overridden?
* see http://www.joelonsoftware.com/articles/APIWar.html
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the IPython-dev