On Oct 5, 2008, at 22:49, Terry Reedy wrote:
Barry Scott wrote:
for key in [pysvn.wc_status_kind.added,
pysvn.wc_status_kind.replaced,
pysvn.wc_status_kind.unversioned]:
print( '2 key', key, key in wc_status_kind_map, cmp( key,
pysvn.wc_status_kind.unversioned ), hash( key ) )
try:
print( '2 lookup', wc_status_kind_map[ key ] )
except:
print( '2 failed' )
2 key added False 1 -586300914
2 failed
2 key replaced False 1 -586300911
2 failed
2 key unversioned False 0 -586300916
2 failed
Given that p.we.x seems to always return the same object (since the
hashes, which which appear to be ids, are the same), an __eq__
method (which gets called in preference to __cmp__), possibly
inherited, that always return False is the only thing I can think
of. (Hence Martin's question, I presume). I have no idea,
however, how porting could make that happen.
The type is not derived so the __eq__ cannot be happening.
I guess I need to use gdb and figure out what is going on.
Barry
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com