Barry Warsaw wrote: > My PySet_Clear() raises a SystemError > and returns -1 when the object is a frozen set.
Isn't SystemError a bit drastic? TypeError would be sufficient here, surely. > > If PyObject_Clear() is implemented something like > > int PyObject_Clear(PyObject *o) > { > return (o->ob_type->tp_clear ? o->ob_type->tp_clear(o) : -1); > } > > then you /would/ be able to clear a frozen set. Hmmm, the problem here, I think, is that tp_clear is really only designed for use by the garbage collector. Giving anything else access to it is probably wrong. Clearability is not a general feature in Python land -- a few types have a clear() method, but this is an ad hoc feature of the type concerned. I don't think it makes sense to have a general PyObject_Clear function at all. -- Greg _______________________________________________ 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