[Tim] >> Read the tail end of the PyMem_ docs (PyMem_UPPERCASE is >> supposedly already deprecated, but only in extension modules). [martin@v.loewis.de] > There is something wrong here, then. That's for sure <wink>. > The author of this documentation clearly meant that they are *internal*, > and thus should have been called _PyMem_UPPERCASE. I doubt the author meant that: in 1.5.2, PyMem_DEL was the only "legal" way to free object memory, and even if people didn't know that from reading the docs, they picked it up via copying Python's Objects/xxmodule.c (which used PyMem_DEL through revision 2.15). > I'd be in favour of renaming them, thus actively breaking extension > modules that use them at compile time. That would break every extension type written for 1.5.2; the relevant ones from Neil's random sampling are: DB2-Python-0.991 Allocates with PyObject_NEW and deallocates with PyMem_DEL DCOracle-1.3.1b1 Allocates with PyObject_NEW and deallocates with PyMem_DEL Kinterbasdb Allocates with PyObject_NEW and deallocates with PyMem_DEL PyGreSQL-3.3-pre011203 Allocates with PyObject_NEW and deallocates with PyMem_DEL avl-2.0 Allocates with PyObject_NEW and deallocates with PyMem_DEL sybase-0.33 Allocates with PyObject_NEW and deallocates with PyMem_DEL pysdl-0.0.7 Allocates with PyObject_NEW and deallocates with PyMem_DEL pyshout-0.0.6 Allocates with PyObject_NEW and deallocates with PyMem_DEL pwin Allocates with PyObject_NEW and deallocates with PyMem_DEL I'm all in favor of deprecating PyMem_DEL, so long as deprecation doesn't mean anything <wink -- but the sampling above tells me how seriously people have taken the existing claim of deprecation>. An alternative-- which no longer poses an implementation problem --is to say that from 2.3 onward, PyMem_Del, PyMem_DEL, PyObject_Del, PyObject_DEL, PyObject_FREE, and PyObject_Free, are all exactly the same thing (as has always been true in reality, except when pymalloc was enabled in 2.2 or before). At least 4 of those spellings should be deprecated then, but gently. Whether PyMem_Free and PyMem_FREE also belong in that pile isn't clear.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4