Ronald Oussoren [Thu, 24 Dec 2009 13:30:58 +0000 (13:30 +0000)]
Issue #6834: replace the implementation for the 'python' and 'pythonw' executables on OSX.
The previous implementation used execv(2) to run the real interpreter, which means that
you cannot use the arch(1) tool to select the architecture you want to use for a
universal build because that only affects the python/pythonw wrapper and not the actual
interpreter.
The new version uses posix_spawnv with a number of OSX-specific options that ensure that
the real interpreter is started using the same CPU architecture as the wrapper, and that
means that 'arch -ppc python' now actually works.
I've also changed the way that the wrapper looks for the framework: it is now linked to
the framework rather than hardcoding the framework path. This should make it easier to
provide pythonw support in tools like virtualenv.
Ronald Oussoren [Thu, 24 Dec 2009 13:30:42 +0000 (13:30 +0000)]
An update to the script that's used to build the binary installer: don't install files in
/usr/local by default. Users can still choose to install files into /usr/local, but by
default we'll only install files in /Library/Framework/Python.framework and
/Applications/Python X.Y/
Ronald Oussoren [Thu, 24 Dec 2009 13:06:39 +0000 (13:06 +0000)]
On OSX the output of "uname -m" always reflects the 32-bit architecture
for the machine ("i386" or "ppc"), even if the executable is
64-bit.
This patchs ensures that the distutils platform architecture
represents the architecture for the executable when running a
64-bit only executable on OSX.
R. David Murray [Sun, 20 Dec 2009 16:46:06 +0000 (16:46 +0000)]
Issue #7376: When called with no arguments doctest was running a
self-test. Because of a change to the way tracebacks are printed,
this self-test was failing. The test is run (and passes) during normal
regression testing. So instead of running the failing self-test this
patch makes doctest emit a usage message. This is better behavior anyway
since passing in arguments is the real reason to run doctest as a command.
Bug discovery and initial patch by Florent Xicluna.
R. David Murray [Mon, 14 Dec 2009 16:28:26 +0000 (16:28 +0000)]
Issue #1680159: unicode coercion during an 'in' operation was masking
any errors that might occur during coercion of the left operand and
turning them into a TypeError with a message text that was confusing in
the given context. This patch lets any errors through, as was already
done during coercion of the right hand side.
Lars Gustäbel [Sun, 13 Dec 2009 11:32:27 +0000 (11:32 +0000)]
Issue #7357: No longer suppress fatal extraction errors by
default.
TarFile's errorlevel argument controls how errors are
handled that occur during extraction. There are three
possible levels 0, 1 and 2. If errorlevel is set to 1 or 2
fatal errors (e.g. a full filesystem) are raised as
exceptions. If it is set to 0, which is the default value,
extraction errors are suppressed, and error messages are
written to the debug log instead. But, if the debug log is
not activated, which is the default as well, all these
errors go unnoticed.
The original intention was to imitate GNU tar which tries
to extract as many members as possible instead of stopping
on the first error. It turns out that this is no good
default behaviour for a tar library. This patch simply
changes the default value for the errorlevel argument from
0 to 1, so that fatal extraction errors are raised as
EnvironmentError exceptions.
Mark Dickinson [Thu, 10 Dec 2009 10:36:32 +0000 (10:36 +0000)]
Replace the size check for PyMem_MALLOC and PyMem_REALLOC with an almost
equivalent[*] check that doesn't produce compiler warnings about a 'x < 0'
check on an unsigned type.
[*] it's equivalent for inputs of type size_t or Py_ssize_t, or any smaller
unsigned or signed integer type.
Ronald Oussoren [Thu, 10 Dec 2009 10:27:09 +0000 (10:27 +0000)]
Fix an issue with the detection of a non-existing SDK
on OSX. Without this patch it wasn't possible after all
to compile extensions on OSX 10.6 with the binary
installer unless the user had installed the (non-default)
10.4u SDK.
R. David Murray [Wed, 9 Dec 2009 15:15:31 +0000 (15:15 +0000)]
Issue 5949: fixed IMAP4_SSL hang when the IMAP server response is
missing proper end-of-line termination. Patch and tests by
Scott Dial. The new tests include a test harness which will
make it easier to add additional tests.
Ronald Oussoren [Tue, 8 Dec 2009 16:32:52 +0000 (16:32 +0000)]
Fix for issue 7452: HAVE_GCC_ASM_FOR_X87 gets set when doing a universal build on
an i386 based machine, but should only be active when compiling the x86 part of
the universal binary.