[issue1717] Get rid of more references to __cmp__

Mark Dickinson report at bugs.python.org
Mon Feb 2 23:08:58 CET 2009

Mark Dickinson <dickinsm at gmail.com> added the comment:

All relevant changes from the py3k-issue1717 branch have now been merged into the py3k 
branch (and from there into the 3.0 maintenance branch), in a series of revisions.  
Here they are, listed in py3k/release30-maint pairs:

r69188, r69189,
r69190, r69191,
r69192, r69193,
r69214, r69215,
r69218, r69221,
r69224, r69225.

The idea to raise TypeError on non-NULL tp_compare was abandoned after Martin pointed 
out that it would be a binary incompatible change _[1], but Nick Coghlan suggested a 
DeprecationWarning when tp_compare is non-NULL and tp_richcompare is NULL _[2], and 
remarked that the warning should also be implemented for Python 2.7 when run with the -
3 option.

Still to do before this can be closed:

 - fix up Doc/extending/newtypes.rst;  I think Georg has said he'll
   take care of this, so once everything else is done I'll just reassign
   this issue to him and let him get on with it.

 - add Nick Coghlan's suggested DeprecationWarning.

 - grep through the sources looking for tp_compare, __cmp__, cmpfunc,
   PyObject_Cmp, PyObject_Compare and cmp, and check all remaining
   references are legitimate.

 - update pybench;  there's a separate issue already open for this.
   (issue 4704), and it looks like Antoine and Marc-André are on the

 - anything else that I've forgotten.

Thanks everyone for your help so far, especially Christian for much of
the original code and Antoine for code and review.

[1] http://mail.python.org/pipermail/python-dev/2009-February/085797.html
[2] http://mail.python.org/pipermail/python-dev/2009-February/085809.html

Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list