Serhiy Storchaka
ebad53a4dc
gh-94938: Fix errror detection of unexpected keyword arguments (GH-94999)
...
When keyword argument name is an instance of a str subclass with
overloaded methods __eq__ and __hash__, the former code could not find
the name of an extraneous keyword argument to report an error, and
_PyArg_UnpackKeywords() returned success without setting the
corresponding cell in the linearized arguments array. But since the number
of expected initialized cells is determined as the total number of passed
arguments, this lead to reading NULL as a keyword parameter value, that
caused SystemError or crash or other undesired behavior.
2022-07-28 07:40:36 +03:00
Serhiy Storchaka
067f0da335
gh-94930: skipitem() in getargs.c should return non-NULL on error (GH-94931)
2022-07-18 18:07:31 +03:00
Inada Naoki
f9c9354a7a
gh-92536: PEP 623: Remove wstr and legacy APIs from Unicode (GH-92537)
2022-05-12 14:48:38 +09:00
Inada Naoki
4ebf4a6bfa
bpo-40943: Fix skipitem() didn't raise SystemError (GH-25937)
...
`convertitem()` raises `SystemError` when '#' is used without `PY_SSIZE_T_CLEAN`.
This commit makes `skipitem()` raise it too.
2021-05-07 11:56:48 +09:00
Inada Naoki
91a639a094
bpo-36346: Emit DeprecationWarning for PyArg_Parse() with 'u' or 'Z'. (GH-20927)
...
Emit DeprecationWarning when PyArg_Parse*() is called with 'u', 'Z' format.
See PEP 623.
2021-02-22 22:11:48 +09:00
Serhiy Storchaka
4c8f09d7ce
bpo-36346: Make using the legacy Unicode C API optional (GH-21437)
...
Add compile time option USE_UNICODE_WCHAR_CACHE. Setting it to 0
makes the interpreter not using the wchar_t cache and the legacy Unicode C API.
2020-07-10 23:26:06 +03:00
Hai Shi
96a6a6d42b
bpo-40275: Use new test.support helper submodules in tests (GH-21412)
2020-07-09 15:25:10 +02:00
Serhiy Storchaka
578c3955e0
bpo-37999: No longer use __int__ in implicit integer conversions. (GH-15636)
...
Only __index__ should be used to make integer conversions lossless.
2020-05-26 18:43:38 +03:00
Serhiy Storchaka
bdbad71b9d
bpo-20092. Use __index__ in constructors of int, float and complex. (GH-13108)
2019-06-02 00:05:48 +03: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
Xtreak
6326278e8a
bpo-34193: Fix pluralization in getargs.c and test cases. (GH-8438)
2018-12-21 16:45:13 +02:00
Serhiy Storchaka
8f7bb100d0
bpo-34272: Move argument parsing tests from test_capi to test_getargs2. (GH-8567)
2018-08-06 16:50:19 +03:00
Benjamin Peterson
2bb69a5b4e
bpo-31373: remove overly strict float range checks ( #3486 )
...
This undoes a853a8ba78
except for the pytime.c
parts. We want to continue to allow IEEE 754 doubles larger than FLT_MAX to be
rounded into finite floats. Tests were added to very this behavior.
2017-09-10 23:50:46 -07:00
Michael Seifert
64c8f705c0
bpo-29951: Include function name for some error messages in `PyArg_ParseTuple*` ( #916 )
...
Also changed format specifier for function name from "%s" to "%.200s"
and exception messages should start with lowercase letter.
2017-04-09 10:47:12 +03:00
Serhiy Storchaka
671079ef60
bpo-29894: Deprecate returning an instance of complex subclass from __complex__. ( #798 )
...
In a future versions of Python this can be an error.
2017-03-24 21:28:43 +02:00
Serhiy Storchaka
63dc548109
Issue #28086 : Single var-positional argument of tuple subtype was passed
...
unscathed to the C-defined function. Now it is converted to exact tuple.
2016-09-22 19:41:20 +03:00
Steve Dower
a3222b8424
Fixes test_getargs2 to get the buildbots working again.
2016-09-11 19:43:51 -07:00
R David Murray
44b548dda8
#27364 : fix "incorrect" uses of escape character in the stdlib.
...
And most of the tools.
Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and
Martin Panter.
2016-09-08 13:59:53 -04:00
Benjamin Peterson
47ff0734b8
more PY_LONG_LONG to long long
2016-09-08 09:15:54 -07:00
Serhiy Storchaka
f41b82fb19
Issue #26282 : PyArg_ParseTupleAndKeywords() and Argument Clinic now support
...
positional-only and keyword parameters in the same function.
2016-06-09 16:30:29 +03:00
Serhiy Storchaka
16931c3559
Issue #26983 : float() now always return an instance of exact float.
...
The deprecation warning is emitted if __float__ returns an instance of
a strict subclass of float. In a future versions of Python this can
be an error.
2016-06-03 21:42:55 +03:00
Serhiy Storchaka
c944c2dab8
Issue #26995 : Added tests for "f", "d", "D", "S", "Y", and "U" format codes
...
in PyArg_ParseTuple().
2016-05-16 10:12:15 +03:00
Serhiy Storchaka
f95455da4c
Issue #26995 : Added tests for "f", "d", "D", "S", "Y", and "U" format codes
...
in PyArg_ParseTuple().
2016-05-16 10:11:47 +03:00
Serhiy Storchaka
acef5de6ec
Backported tests for issue #18531 .
2016-05-16 09:55:32 +03:00
Serhiy Storchaka
ce41287e99
Issue #18531 : Single var-keyword argument of dict subtype was passed
...
unscathed to the C-defined function. Now it is converted to exact dict.
2016-05-08 23:36:44 +03:00
Serhiy Storchaka
4cd63ef67a
Issue #26198 : ValueError is now raised instead of TypeError on buffer
...
overflow in parsing "es#" and "et#" format units. SystemError is now raised
instead of TypeError on programmical error in parsing format string.
2016-02-08 01:22:47 +02:00
Serhiy Storchaka
c8241fdde7
Issue #26198 : Added tests for "es", "et", "es#", "et#" and "C" format units
...
of PyArg_Parse*() functions.
2016-01-28 19:49:54 +02:00
Serhiy Storchaka
483405bcca
Issue #22883 : Got rid of outdated references to PyInt and PyString in comments.
2015-02-17 10:14:30 +02:00
Serhiy Storchaka
d8a1447c99
Issue #22215 : Now ValueError is raised instead of TypeError when str or bytes
...
argument contains not permitted null character or byte.
2014-09-06 20:07:17 +03:00
Serhiy Storchaka
f28ba369dd
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:10:55 +02:00
Serhiy Storchaka
5cfc79deae
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:06:39 +02:00
Serhiy Storchaka
c836a28cc1
Issue #17576 : Removed deprecation warnings added in changeset 618cca51a27e.
2013-12-14 21:07:09 +02:00
Serhiy Storchaka
c4f3212abc
Issue #17576 : Deprecation warning emitted now when __int__() or __index__()
...
return not int instance. Introduced _PyLong_FromNbInt() and refactored
PyLong_As*() functions.
2013-12-11 21:26:36 +02:00
Serhiy Storchaka
31a655411a
Issue #17576 : Deprecation warning emitted now when __int__() or __index__()
...
return not int instance. Introduced _PyLong_FromNbInt() and refactored
PyLong_As*() functions.
2013-12-11 21:07:54 +02:00
Brett Cannon
3e9a9ae09d
Update various test modules to use unittest.main() for test discovery
...
instead of manually listing tests for test.support.run_unittest().
2013-06-12 21:25:59 -04:00
Victor Stinner
765531d2d0
Issue #17516 : use comment syntax for comments, instead of multiline string
2013-03-26 01:11:54 +01:00
Larry Hastings
faf91e75ab
Issue #14705 : Add 'p' format character to PyArg_ParseTuple* for bool support.
2012-05-05 16:54:29 -07:00
Larry Hastings
83a9f48699
Issue #14328 : Add keyword-only parameters to PyArg_ParseTupleAndKeywords.
...
They're optional-only for now (unlike in pure Python) but that's all
I needed. The syntax can easily be relaxed if we want to support
required keyword-only arguments for extension types in the future.
2012-03-20 20:06:16 +00:00
Eli Bendersky
906b88fb2a
Issue #12380 : PyArg_ParseTuple now accepts a bytearray for the 'c' format.
...
As a side effect, this now allows the rjust, ljust and center methods of
bytes and bytearray to accept a bytearray argument.
Patch by Petri Lehtinen
2011-07-29 07:05:08 +03:00
Antoine Pitrou
ad62b03949
Issue #10451 : memoryview objects could allow to mutate a readable buffer.
...
Initial patch by Ross Lagerwall.
2011-01-18 18:57:52 +00:00
Ezio Melotti
b3aedd4862
#9424 : Replace deprecated assert* methods in the Python test suite.
2010-11-20 19:04:17 +00:00
Victor Stinner
25e8ec4724
Issue #8850 : Remove "w" and "w#" formats from PyArg_Parse*() functions, use
...
"w*" format instead. Add tests for "w*" format.
2010-06-25 00:02:38 +00:00
Victor Stinner
4aae1ebab2
Issue #8949 : "z" format of PyArg_Parse*() functions doesn't accept bytes
...
objects, as described in the documentation.
2010-06-24 22:08:25 +00:00
Victor Stinner
06e49dd029
Issue #8592 : PyArg_Parse*() functions raise a TypeError for "y", "u" and "Z"
...
formats if the string contains a null byte/character. Write unit tests for
string formats.
2010-06-13 18:21:50 +00:00
Mark Dickinson
c73013127b
Issue #8950 : Make PyArg_Parse* with 'L' code raise for float inputs,
...
instead of warning. This makes it consistent with the other integer
codes.
2010-06-10 16:05:10 +00:00
Victor Stinner
93b5513cf1
Issue #6697 : Fix a crash if a keyword contains a surrogate
2010-05-19 00:54:06 +00:00
Mark Dickinson
de60401909
Merged revisions 77218 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r77218 | mark.dickinson | 2010-01-01 17:27:30 +0000 (Fri, 01 Jan 2010) | 5 lines
Issue #5080 : turn the DeprecationWarning from float arguments passed
to integer PyArg_Parse* format codes into a TypeError. Add a
DeprecationWarning for floats passed with the 'L' format code, which
didn't previously have a warning.
........
2010-01-01 19:27:32 +00:00
Mark Dickinson
1554b18b5a
Merged revisions 76930 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76930 | mark.dickinson | 2009-12-20 15:57:56 +0000 (Sun, 20 Dec 2009) | 1 line
Add missing tests for PyArg_Parse* with format 'h'
........
2009-12-20 16:03:30 +00:00
Mark Dickinson
5c2db37c20
Issue #7435 : Remove duplicate int/long tests, and other
...
references to long in py3k. Patch provided by flox.
2009-12-05 20:28:34 +00:00
Benjamin Peterson
c9c0f201fe
convert old fail* assertions to assert*
2009-06-30 23:06:06 +00:00