An odd bug in OS X 10.4 causes open(2) on a non-existent,
invalid-encoded filename to return errno 22, EINVAL: Invalid argument,
instead of the expected errno 2, ENOENT: No such file or directory,
*if* the containing directory is not empty. That caused frequent
failures when running the buildbot tests on 10.4 depending on the state
of the test working directory. The failure is easy to reproduce on
10.4 by running the test directly (not with regrtest), first in an empty
directory, then after adding a file to it. The fix is to check for and
pass if either errno is returned.
Also add running of test_email_renamed to the email regrtest. It contains
tests that the base email/tests/test_email.py does not, which I discovered
while trying to backport this test for confirmation of the behavior.
* avgpp() and maxpp() no more crash on empty and 1-samples input fragment. They now work when peak-peak values are greater INT_MAX.
* ratecv() no more crashes on empty input fragment.
* Fixed an integer overflow in ratecv().
* Fixed an integer overflow in add() and bias() for 32-bit samples.
* reverse(), lin2lin() and ratecv() no more lose precision for 32-bit samples.
* max() and rms() no more returns negative result for 32-bit sample -0x80000000.
* minmax() now returns correct max value for 32-bit sample -0x80000000.
* avg(), mul(), tomono() and tostereo() now round negative result down and can return 32-bit sample -0x80000000.
* add() now can return 32-bit sample -0x80000000.
The customize_compiler function moved many times during the 2.7 series;
in 2.7.3, setup scripts importing this function from ccompiler were
broken. This commit restores compatibility without reintroducing the
issue that #13994 originally fixed (duplication of the function).
A unit test makes little sense here, as distutils tests never do imports
in functions, and the fix is very simple.
with it a vareity of bug fixes, both security and behavior. See
http://www.libexpat.org/ for the list.
NOTE: I already backported the expat hash randomization fix in March.
Fixes issue #14340.
In particular, fix extension module build failures when trying to use
32-bit-only installer Pythons on systems with Xcode 4 (currently
OS X 10.8, 10.7, and optionally 10.6).
* Backport 3.3.0 fixes to 2.7 branch (for release in 2.7.4)
* Since Xcode 4 removes ppc support, extension module builds now
check for ppc compiler support and by default remove ppc and
ppc64 archs when they are not available.
* Extension module builds now revert to using system installed
headers and libs (/usr and /System/Library) if the SDK used
to build the interpreter is not installed or has moved.
* Try to avoid building extension modules with deprecated
and problematic Apple llvm-gcc compiler. If original compiler
is not available, use clang instead by default.