firstname.lastname@example.org (Martin v. Loewis) writes:
"M.-A. Lemburg" email@example.com writes:
Right. 1) was caused by 2).
That wasn't actually the case. The overwriting of memory was really independent of the error in surrogate processing, and can be fixed independently.
OK, thanks for the clarification.
As a result, modules using unpaired surrogates in Unicode literals are simply broken in Python <= 2.2.0.
I think this is unimportant enough to just accept this bug for Python 2.2.x. If people ever run into the problem, well: just don't do this. Unpaired surrogates will be entirely in Unicode 3.2.
I think you're missing a word in the last sentence?
The problem with backporting this patch is that in order for Python to properly recompile any broken module, the magic will have to be changed. Question is whether this is a reasonable thing to do in a patch level release...
The memory-overwriting problem can be fixed independently, e.g. with
Thanks, I've now checked this fix in, and will consider the whole issue to be closed until further notice.
-- That's why the smartest companies use Common Lisp, but lie about it so all their competitors think Lisp is slow and C++ is fast. (This rumor has, however, gotten a little out of hand. :) -- Erik Naggum, comp.lang.lisp