Victor Stinner
0131aba5ae
bpo-38916: array.array: remove fromstring() and tostring() (GH-17487)
...
array.array: Remove tostring() and fromstring() methods. They were
aliases to tobytes() and frombytes(), deprecated since Python 3.2.
2019-12-09 14:09:14 +01:00
Marco Paolini
b44ffc8b40
bpo-38677: Fix arraymodule error handling in module initialization. (GH-17039)
2019-11-15 10:42:51 +02:00
Hai Shi
06cd5b6acd
bpo-38465: Convert the type of exports counters to Py_ssize_t. (GH-16746)
2019-10-21 09:31:46 +03:00
Disconnect3d
13ab570feb
Remove redundant check from arraymodule b_getitem (GH-14676)
...
The `arraymodule`'s `b_getitem` function returns a `PyLong` converted
from `arrayobject`'s array, by dereferencing a pointer to `char`.
When the `char` type is `signed char`, the `if (x >= 128) x -= 256;` comparison/code is redundant because a `signed char` will have a value of `[-128, 127]` and so `x` will never be greater or equal than 128.
This check was indeed needed for situations where a given compiler would assume `char` being `unsigned char` which would make `x` in `[0, 256]` range.
However, the check can be removed if we cast the `ob_item` into a signed char pointer (`signed char*`) instead of `char*`.
This PR/commit introduces this change.
2019-07-11 14:57:42 -07:00
Jeroen Demeyer
59ad110d7a
bpo-37547: add _PyObject_CallMethodOneArg (GH-14685)
2019-07-11 17:59:05 +09:00
Jeroen Demeyer
530f506ac9
bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464)
...
Automatically replace
tp_print -> tp_vectorcall_offset
tp_compare -> tp_as_async
tp_reserved -> tp_as_async
2019-05-30 19:13:39 -07:00
Steve Dower
b82e17e626
bpo-36842: Implement PEP 578 (GH-12613)
...
Adds sys.audit, sys.addaudithook, io.open_code, and associated C APIs.
2019-05-23 08:45:22 -07:00
Zackery Spytz
14514d9084
bpo-36946: Fix possible signed integer overflow when handling slices. (GH-13375)
...
The final addition (cur += step) may overflow, so use size_t for "cur".
"cur" is always positive (even for negative steps), so it is safe to use
size_t here.
Co-Authored-By: Martin Panter <vadmium+py@gmail.com>
2019-05-17 10:13:03 +03:00
sth
aa3ecb8041
bpo-36285: Fix integer overflow in the array module. (GH-12317)
2019-03-20 21:49:39 +02:00
Serhiy Storchaka
6a44f6eef3
bpo-36048: Use __index__() instead of __int__() for implicit conversion if available. (GH-11952)
...
Deprecate using the __int__() method in implicit conversions of Python
numbers to C integers.
2019-02-25 17:57:58 +02:00
Serhiy Storchaka
afb3e71a17
bpo-35489: Use "const Py_UNICODE *" for the Py_UNICODE converter in AC. (GH-11150)
2018-12-14 11:19:51 +02:00
Serhiy Storchaka
bb86bf4c4e
bpo-35444: Unify and optimize the helper for getting a builtin object. (GH-11047)
...
This speeds up pickling of some iterators.
This fixes also error handling in pickling methods when fail to
look up builtin "getattr".
2018-12-11 08:28:18 +02:00
Zackery Spytz
99d56b5356
bpo-35441: Remove dead and buggy code related to PyList_SetItem(). (GH-11033)
...
In _localemodule.c and selectmodule.c, remove dead code that would
cause double decrefs if run.
In addition, replace PyList_SetItem() with PyList_SET_ITEM() in cases
where a new list is populated and there is no possibility of an error.
In addition, check if the list changed size in the loop in array_array_fromlist().
2018-12-08 16:16:55 +02:00
oldk
aa0735f597
bpo-32747: Remove trailing spaces in docstrings. (GH-5491)
2018-02-02 10:52:55 +02:00
Serhiy Storchaka
f320be77ff
bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code (GH-5222)
...
Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId()
2018-01-25 17:49:40 +09:00
Mat M
56935a53b1
bpo-32020: arraymodule: Correct missing Py_DECREF in failure case of make_array() ( #4391 )
2017-11-14 08:00:54 +02:00
Serhiy Storchaka
b3a77964ea
bpo-27541: Reprs of subclasses of some classes now contain actual type name. ( #3631 )
...
Affected classes are bytearray, array, deque, defaultdict, count and repeat.
2017-09-21 14:24:13 +03:00
Adrian Wielgosik
7c17e2304b
bpo-24700: Add a fast path for comparing array.array of equal type ( #3009 )
2017-08-17 14:46:06 +02:00
Serhiy Storchaka
6cca5c8459
bpo-30592: Fixed error messages for some builtins. ( #1996 )
...
Error messages when pass keyword arguments to some builtins that
don't support keyword arguments contained double parenthesis: "()()".
The regression was introduced by bpo-30534.
2017-06-08 14:41:19 +03:00
Jim Fasarakis-Hilliard
a4095efc3f
Change error message for array methods to use 'array' instead of 'list'. ( #1853 )
2017-05-29 20:43:39 +03:00
Serhiy Storchaka
b879fe82e7
Expand the PySlice_GetIndicesEx macro. ( #1023 )
2017-04-08 09:53:51 +03:00
Sylvain
a90e64b78d
bpo-29932: Fix small error message typos in arraymodule.c (GH-888)
2017-03-29 11:09:22 -07:00
orenmn
964281af59
bpo-28298: make array 'Q', 'L' and 'I' accept big intables as elements ( #570 )
2017-03-09 11:35:28 +02:00
Serhiy Storchaka
228b12edcc
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible. Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Victor Stinner
55ba38a480
Use _PyObject_CallMethodIdObjArgs()
...
Issue #28915 : Replace _PyObject_CallMethodId() with
_PyObject_CallMethodIdObjArgs() in various modules when the format string was
only made of "O" formats, PyObject* arguments.
_PyObject_CallMethodIdObjArgs() avoids the creation of a temporary tuple and
doesn't have to parse a format string.
2016-12-09 16:09:30 +01:00
Serhiy Storchaka
460bd0d284
Issue #19569 : Compiler warnings are now emitted if use most of deprecated
...
functions.
2016-11-20 12:16:46 +02:00
Christian Heimes
f051e43b22
Issue #28126 : Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy().
2016-09-13 20:22:02 +02:00
Martin Panter
1c748f3830
Issue #27570 : Merge null pointer fixes from 3.5
2016-09-07 23:31:39 +00:00
Martin Panter
be8da9c990
Issue #27570 : Avoid zero-length memcpy() calls with null source pointers
2016-09-07 11:04:41 +00:00
Benjamin Peterson
af580dff4a
replace PY_LONG_LONG with long long
2016-09-06 10:46:49 -07:00
Benjamin Peterson
ed4aa83ff7
require a long long data type ( closes #27961 )
2016-09-05 17:44:18 -07:00
Martin Panter
996d72bccf
Issue #7063 : Remove dead code from array slice handling
...
Patch by Chuck.
2016-07-25 02:21:14 +00:00
Serhiy Storchaka
2954f83999
- Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 18:20:03 +03:00
Serhiy Storchaka
1a2b24f02d
Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 17:35:15 +03:00
Serhiy Storchaka
5ffdcad7b9
Fixed integer overflow in array.buffer_info().
2016-06-23 23:56:46 +03:00
Serhiy Storchaka
9e941d6373
Fixed integer overflow in array.buffer_info().
2016-06-23 23:55:34 +03:00
Martin Panter
1ce738e08f
Merge typo fixes from 3.5
2016-05-08 14:02:35 +00:00
Martin Panter
4c35964b76
Corrections for a/an in code comments and documentation
2016-05-08 13:53:41 +00:00
Serhiy Storchaka
ab0d198c7a
Issue #26492 : Exhausted iterator of array.array now conforms with the behavior
...
of iterators of other mutable sequences: it lefts exhausted even if iterated
array is extended.
2016-03-30 21:11:16 +03:00
Serhiy Storchaka
2d06e84455
Issue #25923 : Added the const qualifier to static constant arrays.
2015-12-25 19:53:18 +02:00
Serhiy Storchaka
5c4064e8bd
Issue #25421 : __sizeof__ methods of builtin types now use dynamic basic size.
...
This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined.
2015-12-19 20:05:25 +02:00
Nick Coghlan
d5cacbb1d9
PEP 489: Multi-phase extension module initialization
...
Known limitations of the current implementation:
- documentation changes are incomplete
- there's a reference leak I haven't tracked down yet
The leak is most visible by running:
./python -m test -R3:3 test_importlib
However, you can also see it by running:
./python -X showrefcount
Importing the array or _testmultiphase modules, and
then deleting them from both sys.modules and the local
namespace shows significant increases in the total
number of active references each cycle. By contrast,
with _testcapi (which continues to use single-phase
initialisation) the global refcounts stabilise after
a couple of cycles.
2015-05-23 22:24:10 +10:00
Larry Hastings
38337d1e15
Issue #24000 : Improved Argument Clinic's mapping of converters to legacy
...
"format units". Updated the documentation to match.
2015-05-07 23:30:09 -07:00
Larry Hastings
dbfdc380df
Issue #24001 : Argument Clinic converters now use accept={type}
...
instead of types={'type'} to specify the types the converter accepts.
2015-05-04 06:59:46 -07:00
Larry Hastings
7f90cba7f3
Issue #23935 : Argument Clinic's understanding of format units
...
accepting bytes, bytearrays, and buffers is now consistent with
both the documentation and the implementation.
2015-04-15 23:02:12 -04:00
Larry Hastings
89964c48d1
Issue #23944 : Argument Clinic now wraps long impl prototypes at column 78.
2015-04-14 18:07:59 -04:00
Serhiy Storchaka
04e6dba7dc
Fixed the array module broken in issue #23492 .
...
array_array_frombytes() is used in other functions, but it's signature was
changed. Closes issue #23866 .
2015-04-04 17:06:55 +03:00
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03:00
Stefan Krah
650c1e818d
Issue #14203 : Remove obsolete support for view==NULL in bytesiobuf_getbuffer()
...
and array_buffer_getbuf().
2015-02-03 21:43:23 +01: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
b757c83ec6
Issue #22581 : Use more "bytes-like object" throughout the docs and comments.
2014-12-05 22:25:22 +02:00
Larry Hastings
dfbeb160de
Issue #22615 : Argument Clinic now supports the "type" argument for the
...
int converter. This permits using the int converter with enums and
typedefs.
2014-10-13 10:39:41 +01:00
Benjamin Peterson
588dad0308
merge 3.4 ( closes #22605 )
2014-10-10 20:58:43 -04:00
Benjamin Peterson
682124ccc3
prevent passing NULL to memcpy ( closes #22605 )
...
Patch by Jakub Wilk.
2014-10-10 20:58:30 -04:00
Brett Cannon
1eb32c2045
Issue #20152 : Port the array module to Argument Clinic.
2014-10-10 16:26:45 -04:00
Victor Stinner
706768c687
Issue #22156 : Fix some "comparison between signed and unsigned integers"
...
compiler warnings in the Modules/ subdirectory.
2014-08-16 01:03:39 +02:00
Kristján Valur Jónsson
c5cc5011ac
Make the various iterators' "setstate" sliently and consistently clip the
...
index. This avoids the possibility of setting an iterator to an invalid
state.
2014-03-05 15:23:07 +00:00
Kristján Valur Jónsson
25dded041f
Make the various iterators' "setstate" sliently and consistently clip the
...
index. This avoids the possibility of setting an iterator to an invalid
state.
2014-03-05 13:47:57 +00:00
Alexandre Vassalotti
9730e33535
Issue #3693 : Fix array obscure error message when given a str.
2013-11-29 20:47:15 -08:00
Victor Stinner
541067a640
Issue #19437 : Fix array.buffer_info(), handle PyLong_FromVoidPtr() and
...
PyLong_FromLong() failure
2013-11-14 01:27:12 +01:00
Antoine Pitrou
9ed5f27266
Issue #18722 : Remove uses of the "register" keyword in C code.
2013-08-13 20:18:52 +02:00
Victor Stinner
4755beac3c
Issue #18408 : Fix array_tolist(), handle PyList_SetItem() failure
2013-07-18 01:12:35 +02:00
Victor Stinner
0b142e2809
Issue #18408 : Fix array_index(), handle getarrayitem() failure
2013-07-17 23:01:30 +02:00
Victor Stinner
25c3053a4f
(Merge 3.3) Issue #17223 : array module: Fix a crasher when converting an array
...
containing invalid characters (outside range [U+0000; U+10ffff]) to Unicode:
repr(array), str(array) and array.tounicode(). Patch written by Manuel Jacob.
2013-02-26 00:27:56 +01:00
Victor Stinner
29ec595c6a
Issue #17223 : array module: Fix a crasher when converting an array containing
...
invalid characters (outside range [U+0000; U+10ffff]) to Unicode: repr(array),
str(array) and array.tounicode(). Patch written by Manuel Jacob.
2013-02-26 00:27:38 +01:00
Eli Bendersky
0485314305
Make indentation consistent and remove dead commented-out code.
2012-12-31 15:34:43 -08:00
Eli Bendersky
03ab4d3581
Make indentation consistent and remove dead commented-out code.
2012-12-31 15:34:20 -08: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
Christian Heimes
743e0cd6b5
Issue #16166 : Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
...
endianess detection and handling.
2012-10-17 23:52:17 +02:00
Mark Dickinson
c04ddff290
Issue #16096 : Fix several occurrences of potential signed integer overflow. Thanks Serhiy Storchaka.
2012-10-06 18:04:49 +01:00
Meador Inge
80dd1af4e0
Issue #15424 : Add a __sizeof__ implementation for array objects.
...
Patch by Ludwig Hähne.
2012-08-10 23:21:39 -05:00
Meador Inge
03b4d5072a
Issue #15424 : Add a __sizeof__ implementation for array objects.
...
Patch by Ludwig Hähne.
2012-08-10 22:35:45 -05:00
Victor Stinner
62bb394729
Close #13072 : Restore code before the PEP 393 for the array module
...
'u' format of the array module uses again Py_UNICODE type for backward
compatibility with Python 3.2.
The only change from Python 3.2 is that PyUnicode_AsUnicode() result is now
checked for NULL value.
2012-08-06 00:46:05 +02:00
Antoine Pitrou
a701388de1
Rename _PyIter_GetBuiltin to _PyObject_GetBuiltin, and do not include it in the stable ABI.
2012-04-05 00:04:20 +02:00
Kristján Valur Jónsson
31668b8f7a
Issue #14288 : Serialization support for builtin iterators.
2012-04-03 10:49:41 +00:00
Florent Xicluna
720682efd1
Merge 3.2
2011-12-09 23:42:29 +01:00
Florent Xicluna
0e686cbb7d
Fix docstring typo.
2011-12-09 23:41:19 +01:00
Ezio Melotti
90bf5f1171
Remove mention of narrow/wide builds and update array doc, add a test.
2011-10-25 10:05:34 +03:00
Florent Xicluna
6a985c3549
Merge 3.2.
2011-10-24 13:17:27 +02:00
Florent Xicluna
c45fb25fba
Issue #13255 : wrong docstrings in array module.
2011-10-24 13:14:55 +02:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Martin v. Löwis
1ee1b6fe0d
Use identifier API for PyObject_GetAttrString.
2011-10-10 18:11:30 +02:00
Martin v. Löwis
afe55bba33
Add API for static strings, primarily good for identifiers.
...
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
2011-10-09 10:38:36 +02:00
Victor Stinner
1fe99a2ea7
Fix a compiler warning
2011-09-30 01:55:49 +02:00
Victor Stinner
1fbcaeff55
Fix array.array('u') constructor
2011-09-30 01:54:04 +02:00
Victor Stinner
8dba4e004f
array module uses the new Unicode API
...
* Use Py_UCS4* buffer instead of Py_UNICODE*
* Use "I" or "L" format, instead of "u" format
2011-09-30 00:51:10 +02:00
Victor Stinner
f8bb7d02f6
array module stores the typecode in a char, instead of Py_UNICODE
2011-09-30 00:03:59 +02:00
Georg Brandl
4cb0de246c
Rename new macros to conform to naming rules (function macros have "Py" prefix, not "PY").
2011-09-28 21:49:49 +02:00
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
2011-09-28 07:41:54 +02:00
Mark Dickinson
c7d93b7614
Issue #1621 : Fix undefined behaviour from signed overflow in datetime module hashes, array and list iterations, and get_integer (stringlib/string_format.h)
2011-09-25 15:34:32 +01:00
Meador Inge
1c9f0c93ad
Issue #1172711 : Add 'long long' support to the array module.
...
Initial patch by Oren Tirosh and Hirokazu Yamamoto.
2011-09-20 19:55:51 -05:00
Brian Curtin
dfc80e3d97
Replace Py_NotImplemented returns with the macro form Py_RETURN_NOTIMPLEMENTED.
...
The macro was introduced in #12724 .
2011-08-10 20:28:54 -05:00
Brett Cannon
4a5e5de03f
Revert a reversed comparison order introduced in r70695.
2011-06-07 20:09:32 -07:00
Brett Cannon
a0b1ff5844
Remove some extraneous parentheses and swap the comparison order to
...
prevent accidental assignment.
Silences a warning from LLVM/clang 2.9.
2011-06-06 20:20:36 -07:00
Brett Cannon
b94767ff44
Issue #8914 : fix various warnings from the Clang static analyzer v254.
2011-02-22 20:15:44 +00:00
Alexander Belopolsky
ef4a03fffe
Issue #5109 : array.array constructor will now use fast code when
...
initial data is provided in an array object with correct type.
2011-01-11 21:44:00 +00:00
Georg Brandl
c29cc6a8f2
#1569291 : speed up array.repeat() by making only O(log n) memcpy() calls; the code follows unicode_repeat.
2010-12-04 11:02:04 +00:00
Martin v. Löwis
4d0d471a80
Merge branches/pep-0384.
2010-12-03 20:14:31 +00:00