On 4/10/06, Tim Peters <[EMAIL PROTECTED]> wrote: > It's documented (after a fashion) at the declaration of > PyOS_ReadlineFunctionPointer. Yesterday that read: > > """ > /* By initializing this function pointer, systems embedding Python can > override the readline function. > > Note: Python expects in return a buffer allocated with PyMem_Malloc. */ > > char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, char *); > """ > > Overnight, "PyMem_Malloc" there changed to "PyObject_Malloc". It > didn't matter in practice before (2.5) because all PyXYZ_ABC ways to > spell "free the memory" resolved to PyObject_Free. Now that PyMem_ > and PyObject_ call different things, mismatches are deadly. Since > the only docs we had said PyMem_Malloc must be used for the readline > function, best to stick with that. It's messy, though (there are a > lot of functions that think they're in charge of freeing the memory, > and the memory can originally come from a lot of places).
Shouldn't it at least match call_readline() in Modules/readline.c, which uses PyMem_Malloc()? Also, since it's really a char array, I don't see the point of using something with "Object" in its name. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ 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