Message 185627 - Python tracker
Mark, it was written 20 years ago. Who knows (or cares) why it was written that way? Let's just write it correctly this time. Py_INCREF, Py_DECREF, Py_XDECREF and Py_XINCREF should all expand their argument exactly once. Py_CLEAR should expand its argument exactly twice, once as an rvalue, then once as an lvalue. So could we fix Py_DECREF and Py_CLEAR as well, please?