[Python-Dev] Why is type_modified() in typeobject.c not a public function? (original) (raw)

Guido van Rossum guido at python.org
Tue May 27 19:38:07 CEST 2008


I'm fine with giving it a public interface. Please submit a patch with docs included.

On Tue, May 27, 2008 at 9:47 AM, Stefan Behnel <stefan_ml at behnel.de> wrote:

[reposting this to python-dev, as it affects both 2.6 and 3.0]

Hi, when we build extension classes in Cython, we have to first build the type to make it available to user code, and then update the type's tpdict while we run the class body code (PyObjectSetAttr() does not work here). In Py2.6+, this requires invalidating the method cache after each attribute change, which Python does internally using the typemodified() function. Could this function get a public interface? I do not think Cython is the only case where C code wants to modify a type after its creation, and copying the code over seems like a hack to me. Stefan


Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list