Commit Graph

58515 Commits

Author SHA1 Message Date
Andrew Svetlov 618c2e13ca Use OSError instead of os.error in the docs. 2012-12-15 22:59:24 +02:00
Benjamin Peterson 3a31ecd827 merge heads 2012-12-15 15:46:20 -05:00
Benjamin Peterson 6a020e8065 merge 3.3 2012-12-15 15:44:18 -05:00
Benjamin Peterson 18d105b824 merge 3.2 2012-12-15 15:44:08 -05:00
Benjamin Peterson 7eb8a1a0cb remove dead code 2012-12-15 15:43:58 -05:00
Petri Lehtinen 74d6c250e1 #11175: argparse.FileType now accepts encoding and errors arguments.
Patch by Lucas Maystre.
2012-12-15 22:42:47 +02:00
Antoine Pitrou 09bb89b8cf Issue #16488: epoll() objects now support the `with` statement.
Patch by Serhiy Storchaka.
2012-12-15 21:14:21 +01:00
Antoine Pitrou c48e81ed46 Merge 2012-12-15 19:26:38 +01:00
Antoine Pitrou 3454339430 Issue #16298: In HTTPResponse.read(), close the socket when there is no Content-Length and the incoming stream is finished.
Patch by Eran Rundstein.
2012-12-15 19:23:34 +01:00
Antoine Pitrou d20e7745ee Issue #16298: In HTTPResponse.read(), close the socket when there is no Content-Length and the incoming stream is finished.
Patch by Eran Rundstein.
2012-12-15 19:22:30 +01:00
Antoine Pitrou 084daa2f74 Issue #16298: In HTTPResponse.read(), close the socket when there is no Content-Length and the incoming stream is finished.
Patch by Eran Rundstein.
2012-12-15 19:11:54 +01:00
Benjamin Peterson 9272279afd use error label instead of breaking eval loop (closes #16693) 2012-12-15 12:51:05 -05:00
Andrew Svetlov 1a714750cf Remove compile warnings for _testimportmodule 2012-12-15 18:16:47 +02:00
Andrew Svetlov ef9a43b2c9 Rename test module names for #16421 to don't clash with other tests. 2012-12-15 17:22:59 +02:00
Benjamin Peterson 5cb8a31dc4 cleanup and fix refleaks 2012-12-15 00:05:16 -05:00
Ezio Melotti e0a908290c #16683: merge with 3.3. 2012-12-14 20:20:07 +02:00
Ezio Melotti 30505413df #16683: merge with 3.2. 2012-12-14 20:19:49 +02:00
Ezio Melotti e0035a212b #16683: restore alphabetical order in audioop docs. Patch by Serhiy Storchaka. 2012-12-14 20:18:46 +02:00
Ezio Melotti 752f5dd0f7 #16681: merge with 3.3. 2012-12-14 20:14:17 +02:00
Ezio Melotti 11def426c0 #16681: merge with 3.2. 2012-12-14 20:13:39 +02:00
Ezio Melotti e3d7e54b11 #16681: use "bidirectional class" instead of "bidirectional category" in the docstring too. 2012-12-14 20:12:25 +02:00
Ezio Melotti 1e5c9b70b4 #16681: use "bidirectional class" instead of "bidirectional category". 2012-12-14 20:06:43 +02:00
Andrew Svetlov 22f36eed4d Cleanup filecmp: starting from 3.3 os.error is alias for OSError 2012-12-14 18:02:27 +02:00
Andrew Svetlov 6b2cbeba58 Issue #16421: allow to load multiple modules from the same shared object.
Patch by Václav Šmilauer.
2012-12-14 17:04:59 +02:00
Philip Jenvey f76f0eea5c compile doesn't accept code objects 2012-12-13 15:44:18 -08:00
Andrew Svetlov b67596d815 Issue #16049: add abc.ABC helper class.
Patch by Bruno Dupuis.
2012-12-13 19:09:33 +02:00
Ross Lagerwall 174bc1e309 Merge with 3.3 for #16661 2012-12-13 15:21:16 +00:00
Ross Lagerwall a0b315f5f7 Issue #16661: Fix the os.getgrouplist() test by not assuming that it
gives the same output as "id -G".
2012-12-13 15:20:26 +00:00
Benjamin Peterson 57b667261c expose TCP_FASTOPEN and MSG_FASTOPEN 2012-12-12 22:24:47 -05:00
Christian Heimes b92c40ef9b Cross compiling needs host and build settings. configure no longer
creates a broken PYTHON_FOR_BUILD variable when --build is missing.
2012-12-12 13:10:32 +01:00
Christian Heimes 954ac03a44 Cross compiling needs host and build settings. configure no longer
creates a broken PYTHON_FOR_BUILD variable when --build is missing.
2012-12-12 13:10:21 +01:00
Christian Heimes e6f228011e Just to be sure, initialize with a copy of the compiler's lib and inc dirs. 2012-12-12 12:57:03 +01:00
Christian Heimes d783261e99 Just to be sure, initialize with a copy of the compiler's lib and inc dirs. 2012-12-12 12:56:51 +01:00
Christian Heimes bf5fcc7fc8 Fix cross compiling issue in setup.py, ensure that lib_dirs and inc_dirs are
defined in cross compiling mode, too.
2012-12-12 12:41:50 +01:00
Christian Heimes f19529cfd6 Fix cross compiling issue in setup.py, ensure that lib_dirs and inc_dirs are
defined in cross compiling mode, too.
2012-12-12 12:41:00 +01:00
Gregory P. Smith 370bc2f7ee Code style fixup: No need for double ((parenthesis)) and use {} on an if else. 2012-12-10 20:22:55 -08:00
Gregory P. Smith 08d5ca6cd4 Code style fixup: No need for double ((parenthesis)) and use {} on an if else. 2012-12-10 20:22:31 -08:00
Gregory P. Smith 9504b13145 Code style fixup: No need for double ((parenthesis)) and use {} on an if else. 2012-12-10 20:20:20 -08:00
Gregory P. Smith 27dc02e8c5 Fix the internals of our hash functions to used unsigned values during hash
computation as the overflow behavior of signed integers is undefined.

NOTE: This change is smaller compared to 3.2 as much of this cleanup had
already been done.  I added the comment that my change in 3.2 added so that the
code would match up.  Otherwise this just adds or synchronizes appropriate UL
designations on some constants to be pedantic.

In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.  We could work to get rid of the -fwrapv requirement
in 3.4 but that requires more planning.

Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).

Cleanup only - no functionality or hash values change.
2012-12-10 19:51:29 -08:00
Gregory P. Smith a82fe52acc null merge, no change needed in 3.3. 2012-12-10 18:34:29 -08:00
Gregory P. Smith a6be61ec71 Keep y a Py_hash_t instead of Py_uhash_t as it is compared with == -1 and the
compiler logic will do the right thing with just x as a Py_uhash_t.  This
matches what was already done in the 3.3 version.

cleanup only - no functionality or hash values change.
2012-12-10 18:34:09 -08:00
Gregory P. Smith c2176e46d7 Fix the internals of our hash functions to used unsigned values during hash
computation as the overflow behavior of signed integers is undefined.

NOTE: This change is smaller compared to 3.2 as much of this cleanup had
already been done.  I added the comment that my change in 3.2 added so that the
code would match up.  Otherwise this just adds or synchronizes appropriate UL
designations on some constants to be pedantic.

In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.

Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).

Cleanup only - no functionality or hash values change.
2012-12-10 18:32:53 -08:00
Gregory P. Smith 27cbcd6241 Fix the internals of our hash functions to used unsigned values during hash
computation as the overflow behavior of signed integers is undefined.

In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.

Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).

Cleanup only - no functionality or hash values change.
2012-12-10 18:15:46 -08:00
Gregory P. Smith e348c8d154 Using 'long double' to force this structure to be worst case aligned is no
longer required as of Python 2.5+ when the gc_refs changed from an int (4
bytes) to a Py_ssize_t (8 bytes) as the minimum size is 16 bytes.

The use of a 'long double' triggered a warning by Clang trunk's
Undefined-Behavior Sanitizer as on many platforms a long double requires
16-byte alignment but the Python memory allocator only guarantees 8 byte
alignment.

So our code would allocate and use these structures with technically improper
alignment.  Though it didn't matter since the 'dummy' field is never used.
This silences that warning.

Spelunking into code history, the double was added in 2001 to force better
alignment on some platforms and changed to a long double in 2002 to appease
Tru64.  That issue should no loner be present since the upgrade from int to
Py_ssize_t where the minimum structure size increased to 16 (unless anyone
knows of a platform where ssize_t is 4 bytes?) or 24 bytes depending on if the
build uses 4 or 8 byte pointers.

We can probably get rid of the double and this union hack all together today.
That is a slightly more invasive change that can be left for later.

A more correct non-hacky alternative if any alignment issues are still found
would be to use a compiler specific alignment declaration on the structure and
determine which value to use at configure time.
2012-12-10 18:05:05 -08:00
Gregory P. Smith 60112ae319 1 << 31 is invalid for signed integers, fix it by making 1 unsigned.
Found by Clang trunk's Undefined-Behavior Sanitizer.  [more to come]
2012-12-10 17:45:16 -08:00
Gregory P. Smith c0dd80e439 1 << 31 is invalid for signed integers, fix it by making 1 unsigned.
Found by Clang trunk's Undefined-Behavior Sanitizer.  [more to come]
2012-12-10 17:45:03 -08:00
Gregory P. Smith 90555d0f0d 1 << 31 is invalid for signed integers, fix it by making 1 unsigned.
Found by Clang trunk's Undefined-Behavior Sanitizer.  [more to come]
2012-12-10 17:44:44 -08:00
Hynek Schlawack 6c722c6df4 #15872: Some more Windows related tuning to shutil.rmtree tests
Turns out, the snakebite bots have also their peculiarities.

I'm really not proud of this stream of commits. :(
2012-12-10 16:35:16 +01:00
Hynek Schlawack c474c4e749 #15872: Some more Windows related tuning to shutil.rmtree tests
Turns out, the snakebite bots behave also their peculiarities.

I'm really not proud of this stream of commits. :(
2012-12-10 16:33:41 +01:00
Hynek Schlawack 87f9b46f15 #15872: Some more Windows related tuning to shutil.rmtree tests
Turns out, the snakebite bots behave also their peculiarities.

I'm really not proud of this stream of commits. :(
2012-12-10 16:29:57 +01:00