[Python-Dev] The "lazy strings" patch
Jack Jansen
Jack.Jansen at cwi.nl
Tue Oct 24 11:09:12 CEST 2006
On 23-Oct-2006, at 16:58 , Larry Hastings wrote:
> I genuinely don't know how many external Python extension modules
> are well-behaved in this regard. But in case it helps: I just
> checked PIL, NumPy, PyWin32, and SWIG, and all of them were well-
> behaved.
>
> Apart from stringobject.c, there was exactly one spot in the Python
> source tree which made assumptions about the structure of
> PyStringObjects (Mac/Modules/macos.c). It's in the block starting
> with the comment "This is a hack:". Note that this is unfixed in
> my patch, so just now all code using that self-avowed "hack" will
> break.
As the author of that hack, that gives me an idea for where you
should look for code that will break: code that tries to expose low-
level C interfaces to Python. (That hack replaced an even earlier
worse hack, that took the id() of a string in Python and added a
fixed number to it to get at the address of the string, to fill it
into a structure, blush).
Look at packages such as win32, PyObjC, ctypes, bridges between
Python and other languages, etc. That's where implementors are
tempted to bend the rules of Official APIs for the benefit of serious
optimizations.
--
Jack Jansen, <Jack.Jansen at cwi.nl>, http://www.cwi.nl/~jack
If I can't dance I don't want to be part of your revolution -- Emma
Goldman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-dev/attachments/20061024/fe49d742/attachment.html
More information about the Python-Dev
mailing list