113460 Commits

Author SHA1 Message Date
Dennis Sweeney
702e0da000
Fix NULL test in _testinternalcapi (GH-92861) 2022-05-16 21:32:48 -04:00
谭九鼎
bd30461298
re docs: fix source code link (#92819) 2022-05-16 17:04:17 -07:00
Filipe Laíns
c7d699969c
gh-92265: set meta_path and path_hooks correctly in test_reload_namespace_changed (GH-92275)
Previously, we were blocking the frozen imports and forcing the source
version to be used, but we did not fix up sys.meta_path or
sys.path_hooks, causing the frozen importers to leak into the source
version of the test.
2022-05-16 16:05:47 -07:00
Erlend Egeberg Aasland
00f22e8cc2
gh-92547: Remove deprecated sqlite3 features (#92548)
The following sqlite3 features were deprecated in 3.10, scheduled for
removal in 3.12:

- sqlite3.OptimizedUnicode (gh-23163)
- sqlite3.enable_shared_cache (gh-24008)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Signed-off-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-05-16 19:52:08 +02:00
Christian Heimes
9b50585e02
gh-90473: Skip tests that don't apply to Emscripten and WASI (GH-92846) 2022-05-16 16:02:37 +02:00
Mark Shannon
fa2b8b75eb
Improve object stats (#92845)
* Add incref/decref stats

* Show ratios for allocation in summary
2022-05-16 14:35:11 +01:00
Batuhan Taskaya
f6fd8aac13
gh-92671: Don't omit parentheses when unparsing empty tuples (GH-92673) 2022-05-16 13:38:06 +01:00
Victor Stinner
ca0cc9c433
gh-92820: Skip test_cppext if _ctypes is missing (#92844)
Add @test.support.requires_venv_with_pip decorator.
2022-05-16 13:54:45 +02:00
Hugo van Kemenade
a487623c6b
Speedup: build docs in parallel (GH-92733) 2022-05-16 13:52:00 +02:00
Pablo Galindo Salgado
0d8500c739
gh-81548: Clarify the deprecation of octal sequences affect byte strings (GH-92643)
Automerge-Triggered-By: GH:pablogsal
2022-05-16 03:42:58 -07:00
Christian Heimes
730902c0ad
gh-90473: WASI: Mark tests that require os.pipe() (GH-92837) 2022-05-16 09:37:30 +02:00
Stanley
3ed1cae9ed
gh-87670: Add web.archive redirects from effbot (GH-92816) 2022-05-16 08:11:43 +02:00
Serhiy Storchaka
70af994fee
gh-92530: Fix an issue that occurred after interrupting threading.Condition.notify (GH-92534)
If Condition.notify() was interrupted just after it released the waiter lock,
but before removing it from the queue, the following calls of notify() failed
with RuntimeError: cannot release un-acquired lock.
2022-05-16 08:25:29 +03:00
Ezio Melotti
953ab07952
Restore default role check in make check. (#92290)
* Restore default role check in `make check`.

* Options first, then files.

* Update `make.bat` too.

* Add a comment explaining the extra options.

* No reason to ignore the README.rst.

* Enable default-role check in sphinx-lint.

Co-authored-by: Julien Palard <julien@palard.fr>

* Update sphinx-lint default-role check.

* Fix use of the default role in the docs.

* Update make.bat to check for the default role too.

* Fix comment in make.bat.

Co-authored-by: Julien Palard <julien@palard.fr>
2022-05-15 17:34:52 +02:00
Jan Wolski
26a162baef
gh-89668: Optimize ZipFile file header processing algorithm to avoid unneeded IO(gh-25966) 2022-05-15 23:49:19 +09:00
Victor Stinner
90e7230073
gh-92781: Avoid mixing declarations and code in C API (#92783)
Avoid mixing declarations and code in the C API to fix the compiler
warning: "ISO C90 forbids mixed declarations and code"
[-Werror=declaration-after-statement].
2022-05-15 11:19:52 +02:00
Christian Heimes
db0b455ff4
gh-90473: Fail subprocess early on Emscripten/WASI (GH-92802) 2022-05-14 20:23:19 +02:00
Kumar Aditya
d923fdf54b
GH-92804: Fix memory leak in memoryview iterator (gh-92805) 2022-05-14 23:24:20 +09:00
Dong-hee Na
2e8f721c0f
gh-90861: Memory optimization for set.issubset (gh-92799) 2022-05-14 17:58:19 +09:00
CAM Gerlach
9f68dab3d3
gh-92611: Link to PEP 594 sections & add key detail in doc deprecation notices (GH-92612) 2022-05-13 12:54:12 -07:00
Géry Ogam
7e46ae33bd
Fix numbers.Real.__rdivmod__ doc string (#31991) 2022-05-13 09:49:36 -05:00
yashlad681
3115c2c036
gh-91249: Remove .bat extension in documentation for when activating venv on Windows. (GH-92770) 2022-05-13 15:36:05 +01:00
slateny
3e3e8976b8
bpo-9182: Add a section on specifying positional arguments (#31810) 2022-05-13 09:17:07 -05:00
Gabi Nagy
57da3ff586
Fix small typo (#92721) 2022-05-13 09:15:20 -05:00
180909
b39f841047
gh-92446: Argparse choices should be a sequence (#92450) 2022-05-13 09:06:08 -05:00
Julien Palard
664aa94b57
Document Py_ssize_t. (GH-92512)
It fixes 252 errors from a Sphinx nitpicky run (sphinx-build -n). But
there's 8182 errors left.

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-05-13 14:10:16 +02:00
Victor Stinner
059b5baf98
gh-85858: Remove PyUnicode_InternImmortal() function (#92579)
Remove the PyUnicode_InternImmortal() function and the
SSTATE_INTERNED_IMMORTAL macro.

The PyUnicode_InternImmortal() function is still exported in the
stable ABI. The function is removed from the API.

PyASCIIObject.state.interned size is now a single bit, rather than 2
bits.

Keep SSTATE_NOT_INTERNED and SSTATE_INTERNED_MORTAL macros for
backward compatibility, but no longer use them internally since the
interned member is now a single bit and so can only have two values
(interned or not interned).

Update stats of _PyUnicode_ClearInterned().
2022-05-13 13:40:22 +02:00
Victor Stinner
f62ad4f2c4
gh-89653: Use int type for Unicode kind (#92704)
Use the same type that PyUnicode_FromKindAndData() kind parameter
type (public C API): int.
2022-05-13 12:41:05 +02:00
Mark Shannon
22a1db378c
GH-92236: Remove spurious "line" event when starting coroutine or generator. (GH-92722) 2022-05-13 11:24:45 +01:00
Victor Stinner
db388df1d9
gh-89653: PEP 670: Convert PyUnicode_KIND() macro to function (#92705)
In the limited C API version 3.12, PyUnicode_KIND() is now
implemented as a static inline function. Keep the macro for the
regular C API and for the limited C API version 3.11 and older to
prevent introducing new compiler warnings.

Update _decimal.c and stringlib/eq.h for PyUnicode_KIND().
2022-05-13 11:49:56 +02:00
Christian Heimes
d81d57e959
gh-90473: Increase stack size, disable obmalloc on WASI (GH-92732) 2022-05-13 08:36:01 +02:00
Inada Naoki
e371d5d5d1
gh-92536: Doc update about Py_UNICODE removal (GH-92756) 2022-05-13 13:15:41 +09:00
Victor Stinner
4e28377722
gh-92584: test_cppext uses setuptools (#92639)
Rewrite test_cppext to run in a virtual environment and to build the
C++ extension with setuptools rather than distutils.
2022-05-13 00:20:13 +02:00
Dennis Sweeney
8cf2906828
gh-92311: Add tests for frame_setlineno jumping over listcomps (#92741) 2022-05-12 17:43:54 -04:00
Paul Ganssle
83c0247d47
Check result of utc_to_seconds and skip fold probe in pure Python (#91582)
The `utc_to_seconds` call can fail, here's a minimal reproducer on
Linux:

TZ=UTC python -c "from datetime import *; datetime.fromtimestamp(253402300799 + 1)"

The old behavior still raised an error in a similar way, but only
because subsequent calculations happened to fail as well. Better to fail
fast.

This also refactors the tests to split out the `fromtimestamp` and
`utcfromtimestamp` tests, and to get us closer to the actual desired
limits of the functions. As part of this, we also changed the way we
detect platforms where the same limits don't necessarily apply (e.g.
Windows).

As part of refactoring the tests to hit this condition explicitly (even
though the user-facing behvior doesn't change in any way we plan to
guarantee), I noticed that there was a difference in the places that
`datetime.utcfromtimestamp` fails in the C and pure Python versions, which
was fixed by skipping the "probe for fold" logic for UTC specifically —
since UTC doesn't have any folds or gaps, we were never going to find a
fold value anyway. This should prevent some failures in the pure python
`utcfromtimestamp` method on timestamps close to 0001-01-01.

There are two separate news entries for this because one is a
potentially user-facing change, the other is an internal code
correctness change that, if anything, changes some error messages. The
two happen to be coupled because of the test refactoring, but they are
probably best thought of as independent changes.

Fixes GH-91581
2022-05-12 17:00:50 -04:00
Raymond Hettinger
a834e2d8e1
Add notes for maintaining ABCs (#92736) 2022-05-12 13:18:39 -05:00
ravi140222
079f0dd719
gh-91578: improved error message when trying to instantiate an abstract class with missing methods (gh-47246) 2022-05-12 11:26:11 -04:00
Jelle Zijlstra
8a0d9a6bb7
gh-92514: Remove unused test.support.BasicTestRunner (#92515) 2022-05-12 07:24:04 -07:00
Jelle Zijlstra
6582c96454
gh-92436: __future__ docs: add note on expectations for "from __future__ import annotations" (#92568) 2022-05-12 07:23:42 -07:00
Crowthebird
bdf9969197
Update outdated LOAD_METHOD comments in Python/ceval.c (GH-92641) 2022-05-12 20:37:55 +08: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
Raymond Hettinger
68fec31364
gh-86388 Remove deprecated behaviors in randrange() (#92677) 2022-05-11 23:54:51 -05:00
thueringa
f67d71b431
Fix typo in argparse docs. (GH-92691)
# Fix typo in argparse docs.

> Sometimes, when dealing with **a** particularly long argument list**s**, [...]

Mixture between plural and singular forms is incorrect. Use singular consistently since typically only a single argument list is employed. Change to:

> Sometimes, when dealing with a particularly long argument list, [...]

No issue was opened, since this is a trivial change.

Automerge-Triggered-By: GH:rhettinger
2022-05-11 20:25:09 -07:00
Victor Stinner
1a9645f537
gh-89653: PEP 670: Fix Sphinx syntax in Unicode doc (#92707) 2022-05-12 03:38:49 +02:00
Victor Stinner
d0c9353a79
gh-89653: PEP 670: unicodeobject.h uses _Py_CAST() (#92696)
Use _Py_CAST() and _Py_STATIC_CAST() in macros wrapping static inline
functions of unicodeobject.h.

Change also the kind type from unsigned int to int: same parameter
type than PyUnicode_FromKindAndData().

The limited API version 3.11 no longer casts arguments to expected
types.
2022-05-12 01:35:41 +02:00
Victor Stinner
92f0ed1d90
gh-89653: PEP 670: Update C API unicode documentation (#92702) 2022-05-12 01:33:52 +02:00
Victor Stinner
f9b67ad770
gh-89653: PEP 670: Convert PyDict_GET_SIZE() macro to function (#92695)
The limited C API version 3.12 no longer casts the argument.
2022-05-12 00:58:42 +02:00
Steve Dower
b3f99b69d0
Fix minor documentation error in bisect docs (GH-92697) 2022-05-11 23:56:58 +01:00
Dennis Sweeney
27185f98ff
gh-92031, test_embed: Improve test for unquickening static code (#92440) 2022-05-12 00:54:00 +02:00
Victor Stinner
6de78ef96a
gh-89653: PEP 670: Use PyObject* type for parameters (#92694)
Use the PyObject* type for parameters of static inline functions:

* Py_SIZE(): same parameter type than PyObject_Size()
* PyList_GET_SIZE(), PyList_SET_ITEM(): same parameter type than
  PyList_Size() and PyList_SetItem()
* PyTuple_GET_SIZE(), PyTuple_SET_ITEM(): same parameter type than
  PyTuple_Size() and PyTuple_SetItem().
2022-05-12 00:49:03 +02:00