Serhiy Storchaka
4aa867959f
Issue #23783 : Fixed memory leak in PyObject_ClearWeakRefs() in case of
...
MemoryError.
2015-03-30 09:52:29 +03:00
Serhiy Storchaka
2c7b5a9d0d
Issue #23466 : %c, %o, %x, and %X in bytes formatting now raise TypeError on
...
non-integer input.
2015-03-30 09:19:08 +03:00
Serhiy Storchaka
48070c1248
Issue #23803 : Fixed str.partition() and str.rpartition() when a separator
...
is wider then partitioned string.
2015-03-29 19:21:02 +03:00
Victor Stinner
1912b39def
_PyUnicodeWriter_WriteStr() now checks that the input string is consistent
...
in debug mode to detect bugs earlier.
_PyUnicodeWriter_Finish() doesn't check if the read only string is consistent,
whereas it does check consistency for strings built by itself.
2015-03-26 09:37:23 +01:00
Serhiy Storchaka
d357b89f0b
Issue #22079 : Deprecation warning now is issued in PyType_Ready() instead of
...
raising TypeError when statically allocated type subclasses dynamically
allocated type
2015-03-22 09:46:36 +02:00
Victor Stinner
dabbfe7b30
Issue #23573 : Fix bytes.rfind() and bytearray.rfind() on Windows
...
Windows has no memrchr() function.
This change is only a workaround, the optimization must be reenabled on other
platforms.
2015-03-25 03:16:32 +01:00
Serhiy Storchaka
d9d769fcdd
Issue #23573 : Increased performance of string search operations (str.find,
...
str.index, str.count, the in operator, str.split, str.partition) with
arguments of different kinds (UCS1, UCS2, UCS4).
2015-03-24 21:55:47 +02:00
Victor Stinner
944fbcc478
Issue #23571 : Enhance _Py_CheckFunctionResult()
...
Too bad, sometimes Py_FatalError() is unable to write the exception into
sys.stderr (on "AMD64 OpenIndiana 3.x" buildbot, the buildbot was probably out
of memory).
Call Py_FatalError() with a different message for the two cases (result+error,
or no result and no error).
2015-03-24 16:28:52 +01:00
Victor Stinner
454bd3a277
stdprinter_write(): mention the encoding
2015-03-24 13:40:29 +01:00
Victor Stinner
3b06dfb9d1
Issue #23571 : In debug mode, _Py_CheckFunctionResult() now calls
...
Py_FatalError() instead of using an assertion in debug mode. Py_FatalError()
displays the current exception and the traceback which contain more information
than just the assertion error.
2015-03-24 12:53:59 +01:00
Victor Stinner
efde146b0c
Issue #23571 : _Py_CheckFunctionResult() now gives the name of the function
...
which returned an invalid result (result+error or no result without error) in
the exception message.
Add also unit test to check that the exception contains the name of the
function.
Special case: the final _PyEval_EvalFrameEx() check doesn't mention the
function since it didn't execute a single function but a whole frame.
2015-03-21 15:04:43 +01:00
Serhiy Storchaka
1dd49824df
Issue #23681 : The -b option now affects comparisons of bytes with int.
2015-03-20 16:54:57 +02:00
Victor Stinner
f50e187724
Fix compiler warnings: comparison between signed and unsigned numbers
2015-03-20 11:32:24 +01:00
Antoine Pitrou
484b9f3b99
Merge
2015-03-20 00:10:23 +01:00
Antoine Pitrou
31084ba528
Issue #23632 : Memoryviews now allow tuple indexing (including for multi-dimensional memoryviews).
2015-03-19 23:29:36 +01:00
Victor Stinner
66aab0c4b5
Issue #23708 : Add _Py_read() and _Py_write() functions to factorize code handle
...
EINTR error and special cases for Windows.
These functions now truncate the length to PY_SSIZE_T_MAX to have a portable
and reliable behaviour. For example, read() result is undefined if counter is
greater than PY_SSIZE_T_MAX on Linux.
2015-03-19 22:53:20 +01:00
Serhiy Storchaka
009b811d67
Removed unintentional trailing spaces in non-external and non-generated C files.
2015-03-18 21:53:15 +02:00
Victor Stinner
0c39b1b970
Initialize variables to prevent GCC warnings
2015-03-18 15:02:06 +01:00
Ethan Furman
62e977f1b6
Close issue23467: add %r compatibility to bytes and bytearray
2015-03-11 08:17:00 -07:00
Antoine Pitrou
63afdaa110
Issue #23629 : Fix the default __sizeof__ implementation for variable-sized objects.
2015-03-10 22:35:24 +01:00
Antoine Pitrou
a654510150
Issue #23629 : Fix the default __sizeof__ implementation for variable-sized objects.
2015-03-10 22:32:00 +01:00
Victor Stinner
283f3f8ab3
Issue #23571 : Oops, fix #ifdef assert()
...
assert() are noop when NDEBUG is defined. We want the opposite.
2015-03-09 15:55:37 +01:00
Victor Stinner
4a7cc88472
Issue #23571 : PyObject_Call(), PyCFunction_Call() and call_function() now
...
raise a SystemError if a function returns a result and raises an exception.
The SystemError is chained to the previous exception.
Refactor also PyObject_Call() and PyCFunction_Call() to make them more readable.
Remove some checks which became useless (duplicate checks).
Change reviewed by Serhiy Storchaka.
2015-03-06 23:35:27 +01:00
Benjamin Peterson
abda8ddd3e
merge 3.4 ( #23590 )
2015-03-06 09:09:46 -05:00
Benjamin Peterson
a915723dc7
fix potential refleak in PyFloat_AsDouble ( closes #23590 )
2015-03-06 09:08:44 -05:00
Benjamin Peterson
92ce1b4392
merge 3.3 ( #23362 )
2015-03-02 13:23:41 -05:00
Benjamin Peterson
e5a853c390
use PyMem_NEW to detect overflow ( closes #23362 )
2015-03-02 13:23:25 -05:00
Larry Hastings
42fc0eb827
Issue #21293 : Remove unnecessary "capsule hack".
2015-03-02 08:44:51 -08:00
Steve Dower
3e96f324dc
Issue #23451 : Update pyconfig.h for Windows to require Vista headers and remove unnecessary version checks.
2015-03-02 08:01:10 -08:00
Serhiy Storchaka
71c6f445cd
Fixed a typo.
2015-03-01 14:39:20 +02:00
Serhiy Storchaka
490055a167
Issue #20204 : Deprecation warning is now raised for builtin type without the
...
__module__ attribute.
2015-03-01 10:03:02 +02:00
Benjamin Peterson
c8fd9ce73d
merge 3.4 ( #23515 )
2015-02-25 10:16:56 -05:00
Benjamin Peterson
b808d590a2
fix merge_collapse to actually maintain the invariant it purports to ( closes #23515 )
...
See
de Gouw, Stijn and Rot, Jurriaan and de Boer, Frank S and Bubel, Richard and Hähnle, Reiner
"OpenJDK’s java.utils.Collection.sort() is broken: The good, the bad and the worst case"
2015-02-25 10:12:26 -05:00
Serhiy Storchaka
78a8249127
Issue #23490 : Fixed possible crashes related to interoperability between
...
old-style and new API for string with 2**30-1 characters.
2015-02-20 21:34:39 +02:00
Serhiy Storchaka
e55181f517
Issue #23490 : Fixed possible crashes related to interoperability between
...
old-style and new API for string with 2**30-1 characters.
2015-02-20 21:34:06 +02:00
Serhiy Storchaka
26861b0b29
Issue #23450 : Fixed possible integer overflows.
2015-02-16 20:52:17 +02:00
Serhiy Storchaka
4d0d982985
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:33:32 +02:00
Serhiy Storchaka
1a1ff29659
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:28:22 +02:00
Serhiy Storchaka
ea5ce5a15e
Issue #23383 : Cleaned up bytes formatting.
2015-02-10 23:23:12 +02:00
Raymond Hettinger
438f9134cf
Mirco-optimizations to reduce register spills and reloads observed on CLANG and GCC.
2015-02-09 06:48:29 -06:00
Steve Dower
d327d8d9a4
Fix definition mismatch for type_is_subtype_base_chain.
2015-02-06 08:51:26 -08:00
Steve Dower
b4e20bb588
Fix definition mismatch for type_is_subtype_base_chain.
2015-02-06 08:50:23 -08:00
Benjamin Peterson
6c62ac1a01
merge 3.4 ( #22735 )
2015-02-05 22:29:46 -05:00
Benjamin Peterson
104b9e0cca
fix many custom mro() edge cases and improve code quality ( #22735 )
...
Patch by Eldar Abusalimov.
2015-02-05 22:29:14 -05:00
Raymond Hettinger
8249282622
Minor code clean up.
2015-02-04 08:37:02 -08:00
Raymond Hettinger
06bb1226d1
Issue 23359: Reduce size of code in set_lookkey. Only do linear probes when there is no wrap-around.
...
Nice simplification contributed by Serhiy Storchaka :-)
2015-02-03 08:15:30 -08:00
Stefan Krah
5178d91be0
Issue #14203 : Remove obsolete support for view==NULL in PyBuffer_FillInfo()
...
and bytearray_getbuffer(). Both functions now raise BufferError in that
case.
2015-02-03 16:57:21 +01:00
Serhiy Storchaka
83848704f5
Issue #22896 : Fixed using _getbuffer() in recently added _PyBytes_Format().
2015-02-03 01:49:18 +02:00
Serhiy Storchaka
3dd3e26680
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:25:42 +02:00
Serhiy Storchaka
4fdb68491e
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:21:08 +02:00
Raymond Hettinger
c658d85487
Issue 23359: Tighten inner search loop for sets (don't and-mask every entry lookup).
2015-02-02 08:35:00 -08:00
Stefan Krah
2e6658b4a7
Merge from 3.4.
2015-02-01 19:19:49 +01:00
Stefan Krah
7213fcc27e
Issue #23370 : Fix off-by-one error for non-contiguous buffers.
2015-02-01 16:19:23 +01:00
Stefan Krah
363af44a4a
Issue #22445 : PyBuffer_IsContiguous() now implements precise contiguity
...
tests, compatible with NumPy's NPY_RELAXED_STRIDES_CHECKING compilation
flag. Previously the function reported false negatives for corner cases.
2015-02-01 14:53:54 +01:00
Raymond Hettinger
59ecabd12a
Keep the definition of i consistent between set_lookkey() and set_insert_clean().
2015-01-31 02:45:12 -08:00
Raymond Hettinger
9edd753229
Minor tweak to improve code clarity.
2015-01-30 20:09:23 -08:00
Raymond Hettinger
06a1c8dfa0
Fix typo in a comment.
2015-01-30 18:02:15 -08:00
Serhiy Storchaka
aed198426a
Issue #23055 : Fixed read-past-the-end error in PyUnicode_FromFormatV.
2015-01-31 01:15:48 +02:00
Benjamin Peterson
9d4cbcc86b
allow changing __class__ between a heaptype and non-heaptype in some cases ( closes #22986 )
...
Patch by Nathaniel Smith.
2015-01-30 13:33:42 -05:00
Stefan Krah
f5324d7074
Closes #22668 : Merge from 3.4.
2015-01-29 14:29:51 +01:00
Stefan Krah
fa5d6a5ff3
Issue #22668 : Ensure that format strings survive slicing after casting.
2015-01-29 14:27:23 +01:00
Serhiy Storchaka
66acbb28ee
Issue #22079 : PyType_Ready() now checks that statically allocated type has
...
no dynamically allocated bases.
2015-01-28 11:06:04 +02:00
Serhiy Storchaka
e09bcc874a
Issue #22079 : PyType_Ready() now checks that statically allocated type has
...
no dynamically allocated bases.
2015-01-28 11:03:33 +02:00
Serhiy Storchaka
4dbc305002
Issue #23055 : Fixed a buffer overflow in PyUnicode_FromFormatV. Analysis
...
and fix by Guido Vranken.
2015-01-27 22:18:46 +02:00
Serhiy Storchaka
3f95292be6
Issue #23055 : Fixed a buffer overflow in PyUnicode_FromFormatV. Analysis
...
and fix by Guido Vranken.
2015-01-27 22:18:34 +02:00
Raymond Hettinger
f8d1a31e70
Revert unintended part of the commit (the key==dummy test wasn't supposed to change).
2015-01-26 22:06:43 -08:00
Raymond Hettinger
a5ebbf6295
Remove unneeded dummy test from the set search loop (when the hashes match we know the key is not a dummy).
2015-01-26 21:54:35 -08:00
Raymond Hettinger
3037e84ad1
Issue #23269 : Tighten search_loop in set_insert_clean()
...
Instead of masking and shifting every loopup, move the wrap-around
test outside of the inner-loop.
2015-01-26 21:33:48 -08:00
Victor Stinner
5474d0ba19
Issue #20284 : Fix a compilation warning on Windows
...
Explicitly cast the long to char.
2015-01-26 16:43:36 +01:00
Victor Stinner
29dacf2e97
Issue #15859 : PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and
...
PyUnicode_EncodeCodePage() now raise an exception if the object is not an
Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on
platforms other than Windows. Patch written by Campbell Barton.
2015-01-26 16:41:32 +01:00
Benjamin Peterson
a8efc9601d
ensure ilen is initialized when it is assigned to len
2015-01-26 09:23:41 -05:00
Serhiy Storchaka
34af5023fc
Issue #21408 : The default __ne__() now returns NotImplemented if __eq__()
...
returned NotImplemented. Removed incorrect implementations of __ne__().
2015-01-26 10:04:15 +02:00
Serhiy Storchaka
f4b7a02e93
Issue #21408 : The default __ne__() now returns NotImplemented if __eq__()
...
returned NotImplemented. Removed incorrect implementations of __ne__().
2015-01-26 09:57:07 +02:00
Raymond Hettinger
b335dfe7fa
Set the hash values of dummy entries to -1. Improves quality of entry->hash == hash tests.
2015-01-25 16:38:52 -08:00
Raymond Hettinger
4d45c1069b
Update out-of-date comments.
2015-01-25 16:27:40 -08:00
Raymond Hettinger
93035c44fd
Issue #23119 : Simplify setobject by inlining the special case for unicode equality testing.
2015-01-25 16:12:49 -08:00
Serhiy Storchaka
bbd3aa8ece
Issue #23321 : Fixed a crash in str.decode() when error handler returned
...
replacment string longer than mailformed input data.
2015-01-26 01:24:31 +02:00
Serhiy Storchaka
7e4b9057b3
Issue #23321 : Fixed a crash in str.decode() when error handler returned
...
replacment string longer than mailformed input data.
2015-01-26 01:22:54 +02:00
Ethan Furman
b95b56150f
Issue20284: Implement PEP461
2015-01-23 20:05:18 -08:00
Raymond Hettinger
ed741d4ff0
A hybrid of and-masking and a conditional-set-to-zero produce even faster search loop.
2015-01-18 21:25:15 -08:00
Raymond Hettinger
bd9b200b87
Update copyright for 2015 updates.
2015-01-18 16:10:30 -08:00
Raymond Hettinger
9cd6a789c6
Clean-up, simplify, and slightly speed-up bounds logic in set_pop().
...
Elsewhere in the setobject.c code we do a bitwise-and with the mask
instead of using a conditional to reset to zero on wrap-around.
Using that same technique here use gives cleaner, faster, and more
consistent code.
2015-01-18 16:06:18 -08:00
Raymond Hettinger
1202a4733e
Issue 23261: Clean-up the hack to store the set.pop() search finger in a hash field instead of the setobject.
2015-01-18 13:12:42 -08:00
Serhiy Storchaka
82e07b92b3
Issue #23181 : More "codepoint" -> "code point".
2015-01-18 11:33:31 +02:00
Serhiy Storchaka
d3faf43f9b
Issue #23181 : More "codepoint" -> "code point".
2015-01-18 11:28:37 +02:00
Benjamin Peterson
645f896536
merge 3.4 ( #23210 )
2015-01-09 16:40:38 -06:00
Benjamin Peterson
bcf8554fd4
remove buzzword ( closes #23210 )
2015-01-09 16:40:23 -06:00
Raymond Hettinger
8edf27c134
Small clean-up. Factor-out common code for add, contains, and discard function pairs.
2014-12-26 23:08:58 -08:00
Raymond Hettinger
08e3dc0ad6
Issue #23107 : Tighten-up loops in setobject.c
...
* Move the test for an exact key match to after a hash match
* Use "used" as a loop counter instead of "fill"
* Minor improvements to variable names and code consistency
2014-12-26 20:14:00 -08:00
Serhiy Storchaka
707b5ccde5
Issue #22783 : Pickling now uses the NEWOBJ opcode instead of the NEWOBJ_EX
...
opcode if possible.
2014-12-16 19:43:46 +02:00
Serhiy Storchaka
b757c83ec6
Issue #22581 : Use more "bytes-like object" throughout the docs and comments.
2014-12-05 22:25:22 +02:00
Serhiy Storchaka
83cf99d733
Issue #20335 : bytes constructor now raises TypeError when encoding or errors
...
is specified with non-string argument. Based on patch by Renaud Blanch.
2014-12-02 09:24:06 +02:00
Serhiy Storchaka
133b11b566
Issue #22975 : Close block at right place.
2014-12-01 18:56:28 +02:00
Benjamin Peterson
e823933f9f
remove tautological condition ( closes #22954 )
2014-11-26 23:03:11 -06:00
Serhiy Storchaka
92bf919ed0
Issue #22581 : Use more "bytes-like object" throughout the docs and comments.
2014-12-05 22:26:10 +02:00
Serhiy Storchaka
0b2cacb42a
Issue #20335 : bytes constructor now raises TypeError when encoding or errors
...
is specified with non-string argument. Based on patch by Renaud Blanch.
2014-12-02 09:26:14 +02:00
Serhiy Storchaka
407249c62b
Issue #22975 : Close block at right place.
2014-12-01 18:56:54 +02:00
Benjamin Peterson
0a59d5563e
merge 3.4 ( #22954 )
2014-11-26 23:03:34 -06:00
Nick Coghlan
d600951748
Issue #22869 : Split pythonrun into two modules
...
- interpreter startup and shutdown code moved to a new
pylifecycle.c module
- Py_OptimizeFlag moved into the new module with the other
global flags
2014-11-20 21:39:37 +10:00
Victor Stinner
3aa979e0cd
Issue #20948 : Inline makefmt() in unicode_fromformat_arg()
2014-11-18 21:40:51 +01:00