If the third argument of PyObject_SetAttr(), PyObject_SetAttrString() or PySequence_SetItem() is NULL, these functions delete an attribute or an item. This is rather undocumented implementation detail. There are special counterparts for deleting: PyObject_DelAttr(), PyObject_DelAttrString() and PySequence_DelItem(). May be worth to depre
Proposed patch deprecates using these Set* functions for deleting and replaces them with appropriate Del* functions if needed.
Discussion on Python-Dev: http://comments.gmane.org/gmane.comp.python.devel/155474
Issue that documents deleting with Set* APIs: issue25701.