
Hi,
Early july I submitted a bug report ( http://www.python.org/sf/576990 ). Although Raymond Hettinger briefly looked at it (closed it, and the re-opened it), there's presently no assignee for the bug. I am certainly willing to do the work myself, but before doing so, I'd like to be sure that I understand the non-repsonse correctly. I see several possibilities:
1. This is not a bug but somebody forgot to tell me.
2. This is a completely trivial to solve, but everybody overlooked it.
3. This is a small bug, only seen in a marginal corner case that is of no particular interest to anyone, so there is no reason ( and certainly no time) for anybody to respond and/or solve this
4. This is a mildly interesting, but relatively obscure bug, that might be straightforward to solve if somebody had the spare time. (what spare time?)
5. This is clearly a profound and interesting bug, but solving this seems to involve cans of worms, ten-foot poles, and a re-write of the core.
I supsect that in this case the answer lies somewhere between 3 and 4. I just want to make sure that this is not a type 1, 2 or 5 bug.
...
Ok. So this is actually a blatant attempt to get someone to look at this again before 2.2.2 goes out the door. On the other hand, I really am willing to do the work (clarify the report, give more use-cases, explain the reasoning behind the patch, implement alternative solutions).
Thanks,
Roeland Rengelink

Roeland Rengelink rengelin@strw.leidenuniv.nl writes:
- This is clearly a profound and interesting bug, but solving this
seems to involve cans of worms, ten-foot poles, and a re-write of the core.
To me, it sounds like this. This has been changed forth and back, and in every state, somebody is unhappy.
Regards, Martin

Roeland Rengelink rengelin@strw.leidenuniv.nl writes:
- This is clearly a profound and interesting bug, but solving this
seems to involve cans of worms, ten-foot poles, and a re-write of the core.
[Martin]
To me, it sounds like this. This has been changed forth and back, and in every state, somebody is unhappy.
Yes, it's very messy, see my comments to the SF bug entry. I see no fix that doesn't break something else.
Note that this "worked" in the initial 2.2 release only when the subclass didn't have a docstring of its own:
class P(property):
... "This is class P" ...
p = P(None, None, None, "this is property p") p.__doc__
'This is class P'
The best workaround is I can see that works everywhere is:
class P(property): "class P's docstring" __doc__ = property.__dict__['__doc__']
--Guido van Rossum (home page: http://www.python.org/~guido/)

Guido van Rossum wrote:
Roeland Rengelink rengelin@strw.leidenuniv.nl writes:
- This is clearly a profound and interesting bug, but solving this
seems to involve cans of worms, ten-foot poles, and a re-write of the core.
[Martin]
To me, it sounds like this. This has been changed forth and back, and in every state, somebody is unhappy.
Yes, it's very messy, see my comments to the SF bug entry. I see no fix that doesn't break something else.
Note that this "worked" in the initial 2.2 release only when the subclass didn't have a docstring of its own:
class P(property):
... "This is class P" ...
p = P(None, None, None, "this is property p") p.__doc__
'This is class P'
The best workaround is I can see that works everywhere is:
class P(property): "class P's docstring" __doc__ = property.__dict__['__doc__']
--Guido van Rossum (home page: http://www.python.org/~guido/)
Thanks for the response and thanks for the workaround. It does solve my immediate problem, and I can live with losing "class P's docstring" in pydoc.
I wish I could do more to help though,
Roeland
participants (3)
-
Guido van Rossum
-
martin@v.loewis.de
-
Roeland Rengelink