Commit graph

26679 commits

Author SHA1 Message Date
Miss Islington (bot)
97d846dc2b
[3.12] Clarify the supported cases in the tokenize module (GH-105569) (#105573)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2023-06-09 16:00:42 +00:00
Miss Islington (bot)
7c298d2dc5
[3.12] Miscellaneous improvements to the typing docs (GH-105529) (#105567)
Miscellaneous improvements to the typing docs (GH-105529)

Mostly, these are changes so that we use shorter sentences and shorter paragraphs. In particular, I've tried to make the first sentence introducing each object in the typing API short and declarative.
(cherry picked from commit 8e755923c9)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-09 15:37:33 +00:00
Victor Stinner
d29e86bea3
[3.12] gh-102304: Fix Py_INCREF() for limited C API 3.9 (#105553)
* gh-102304: Fix Py_INCREF() for limited C API 3.9 (#105550)

When Python is built in debug mode (Py_REF_DEBUG macro), Py_INCREF()
and Py_DECREF() of the limited C API 3.9 (and older) now call
Py_IncRef() and Py_DecRef(), since _Py_IncRef() and _Py_DecRef() were
added to Python 3.10.

(cherry picked from commit 7ba0fd9f87)

* gh-102304: Remove Py_INCREF() doc change (#105552)

Py_INCREF() was made compatible again with Python 3.9 and older in
the limited API of Python debug mode.

(cherry picked from commit 58e4b69f69)
2023-06-09 10:32:46 +00:00
Miss Islington (bot)
2f4a2d6c1b
[3.12] gh-105332: [Enum] Fix unpickling flags in edge-cases (GH-105348) (GH-105520)
* revert enum pickling from by-name to by-value

(cherry picked from commit 4ff5690e59)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2023-06-08 18:01:51 -07:00
Miss Islington (bot)
77c03a3b72
[3.12] gh-100227: Lock Around Modification of the Global Allocators State (gh-105516) (gh-105532)
The risk of a race with this state is relatively low, but we play it safe anyway. We do avoid using the lock in performance-sensitive cases where the risk of a race is very, very low.
(cherry picked from commit 68dfa49627)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2023-06-08 22:35:53 +00:00
Eric Snow
b08ea9a561
[3.12] gh-100227: Lock Around Adding Global Audit Hooks (gh-105515) (gh-105525)
The risk of a race with this state is relatively low, but we play it safe anyway.
(cherry picked from commit e822a676f1)
2023-06-08 21:05:47 +00:00
Miss Islington (bot)
2ad2bd8b14
[3.12] gh-100227: Lock Around Use of the Global "atexit" State (gh-105514) (gh-105517)
The risk of a race with this state is relatively low, but we play it safe anyway.
(cherry picked from commit 7799c8e678)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2023-06-08 19:27:44 +00:00
Miss Islington (bot)
3c5f0eadd8
[3.12] Further improve docs for typing.Annotated (GH-105498) (#105503)
Further improve docs for `typing.Annotated` (GH-105498)
(cherry picked from commit d213c2990f)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-08 15:12:35 +00:00
Miss Islington (bot)
4eadfb1c1a
[3.12] gh-90015: Document that PEP-604 unions do not support forward references (GH-105366) (#105460)
gh-90015: Document that PEP-604 unions do not support forward references (GH-105366)
(cherry picked from commit fbdee000de)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-07 19:11:48 +01:00
Miss Islington (bot)
9a7c4a5f39
[3.12] typing: Improve documentation of generic classes and aliases (GH-105369) (#105453)
typing: Improve documentation of generic classes and aliases (GH-105369)
(cherry picked from commit d63a7c3694)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-07 15:04:14 +00:00
Miss Islington (bot)
241c36e1dc
[3.12] gh-97797: Improve documentation for typing.Annotated (GH-105365) (#105448)
gh-97797: Improve documentation for typing.Annotated (GH-105365)
(cherry picked from commit e26d296984)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-07 14:57:25 +01:00
Miss Islington (bot)
92ab560ef5
[3.12] Improve docs for typing.TypeAlias (GH-105372) (#105446)
Improve docs for `typing.TypeAlias` (GH-105372)
(cherry picked from commit c5ec51ec8f)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-07 14:45:54 +01:00
Miss Islington (bot)
c84d4d165d
[3.12] gh-105390: Correctly raise TokenError instead of SyntaxError for tokenize errors (GH-105399) (#105439) 2023-06-07 12:38:36 +01:00
Miss Islington (bot)
2cfe778d7f
[3.12] Improve code examples in typing.rst (GH-105346) (#105422)
Improve code examples in `typing.rst` (GH-105346)
(cherry picked from commit 81c81328a4)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-07 08:00:22 +01:00
Miss Islington (bot)
a36fb691ac
[3.12] typing docs: Make the PEPs list an expandable section, hidden by default (GH-105353) (#105420)
typing docs: Make the PEPs list an expandable section, hidden by default (GH-105353)
(cherry picked from commit d7645124f5)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-06-07 07:48:44 +01:00
Miss Islington (bot)
ca4649a764
[3.12] GH-95088: Clarify rules for parsing an item key for format strings (GH-103779) (#105419)
GH-95088: Clarify rules for parsing an item key for format strings (GH-103779)
(cherry picked from commit 3e7316d7e8)

Co-authored-by: achhina <amanschhina@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-06-06 20:56:16 -07:00
Miss Islington (bot)
f4969eb315
[3.12] typing.NewType docs: the future performance improvements are now in the past (GH-105354) (#105414)
`typing.NewType` docs: the future performance improvements are now in the past (GH-105354)
(cherry picked from commit 5f65ff0370)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-06 20:55:37 -07:00
Miss Islington (bot)
e33add429f
gh-92658: Fix typo in docs and tests for HV_GUID_PARENT (GH-105267)
(cherry picked from commit 3907de12b5)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-06-06 20:27:10 +01:00
Miss Islington (bot)
6fe0a6ba73
[3.12] sliding_window() recipe: Raise ValueError for non-positive window sizes. Add more tests. (GH-105403) (GH-105405) 2023-06-06 14:00:17 -05:00
Miss Islington (bot)
bf62e06e59
[3.12] gh-94172: Update keyfile removal documentation (GH-105392) (#105402)
gh-94172: Update keyfile removal documentation (GH-105392)

Remove the "deprecated:: 3.6" markup, since the parameters (like
keyfile and certfile) got removed in Python 3.12.
(cherry picked from commit 2b8e6e5712)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-06-06 18:14:55 +00:00
Victor Stinner
2bbb557b0f
[3.12] gh-102304: Fix Py_INCREF() stable ABI in debug mode (#104763) (#105352)
gh-102304: Fix Py_INCREF() stable ABI in debug mode (#104763)

When Python is built in debug mode (if the Py_REF_DEBUG macro is
defined), the Py_INCREF() and Py_DECREF() function are now always
implemented as opaque functions to avoid leaking implementation
details like the "_Py_RefTotal" variable or the
_Py_DecRefTotal_DO_NOT_USE_THIS() function.

* Remove _Py_IncRefTotal_DO_NOT_USE_THIS() and
  _Py_DecRefTotal_DO_NOT_USE_THIS() from the stable ABI.
* Remove _Py_NegativeRefcount() from limited C API.

(cherry picked from commit 92022d8416)
2023-06-06 16:22:04 +02:00
Victor Stinner
82ab13c49a
[3.12] gh-102304: doc: Add links to Stable ABI and Limited C API (#105345) (#105371)
* gh-102304: doc: Add links to Stable ABI and Limited C API (#105345)

* Add "limited-c-api" and "stable-api" references.
* Rename "stable-abi-list" reference to "limited-api-list".
* Makefile: Document files regenerated by "make regen-limited-abi"
* Remove first empty line in generated files:

  - Lib/test/test_stable_abi_ctypes.py
  - PC/python3dll.c

(cherry picked from commit bae415ad02)

* gh-102304: Fix up Simple ABI doc (GH-105351)

(cherry picked from commit 0202aa002e)
2023-06-06 13:11:28 +00:00
Miss Islington (bot)
ab660e9a53
[3.12] gh-89412: Add missing attributes (added in 3.10) to traceback module docs (GH-105046) (#105327)
(cherry picked from commit a4f72fa39a)

Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-06-05 19:02:14 +02:00
Miss Islington (bot)
05b6153456
[3.12] gh-97908: CAPI docs: Remove repeated struct names from member docs (GH-100054) (#105057)
And add raw HTML fragments to keep old links working.
(cherry picked from commit 1668b41dc4)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2023-06-05 18:24:12 +02:00
Hugo van Kemenade
0c51318c58
[3.12] What's New in 3.12: List 'Improved Modules' alphabetically (GH-105315) (#105321) 2023-06-05 18:28:03 +03:00
Miss Islington (bot)
dbc179e7c3
[3.12] Clarify that error messages are better with PEP 701 (GH-105150) (#105169)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
Co-authored-by: Marta Gómez Macías <mgmacias@google.com>
2023-06-05 18:09:11 +03:00
Miss Islington (bot)
9ce3312cdb
[3.12] gh-104882: Docs: fix description of relationship between socket.getblocking() and socket.gettimeout() (GH-105026) (#105283)
gh-104882: Docs: fix description of relationship between `socket.getblocking()` and `socket.gettimeout()` (GH-105026)
(cherry picked from commit 5a5ed7a3e6)

Co-authored-by: Joe Geisbauer <joegeisbauer@gmail.com>
2023-06-04 17:07:59 +01:00
Miss Islington (bot)
6b61fe9097
[3.12] Fix typo in Python 3.12 What's New (GH-105278) (#105282)
Fix typo in Python 3.12 What's New (GH-105278)
(cherry picked from commit 9a90c9ace2)

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2023-06-04 16:50:27 +01:00
Miss Islington (bot)
c7a9d96a25
[3.12] gh-104690 Disallow thread creation and fork at interpreter finalization (GH-104826) (#105277)
gh-104690 Disallow thread creation and fork at interpreter finalization (GH-104826)

Disallow thread creation and fork at interpreter finalization.

in the following functions, check if interpreter is finalizing and raise `RuntimeError` with appropriate message:
* `_thread.start_new_thread` and thus `threading`
* `posix.fork`
* `posix.fork1`
* `posix.forkpty`
* `_posixsubprocess.fork_exec` when a `preexec_fn=` is supplied.

---------

(cherry picked from commit ce558e69d4)

Co-authored-by: chgnrdv <52372310+chgnrdv@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-06-04 04:32:00 +00:00
Miss Islington (bot)
f629d5fc24
[3.12] gh-89415: Mention new IP_* constants in socket module in the docs (GH-105266) (#105270)
gh-89415: Mention new `IP_*` constants in `socket` module in the docs (GH-105266)
(cherry picked from commit eaff9c39aa)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-06-03 08:29:18 -07:00
Miss Islington (bot)
00fe6186cb
[3.12] gh-102778: update documentation of PyErr_PrintEx and traceback.print_last() regarding sys.last_exc (GH-105190) (#105246)
gh-102778: update documentation of PyErr_PrintEx and traceback.print_last() regarding sys.last_exc (GH-105190)
(cherry picked from commit 0dafc785ee)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2023-06-02 17:04:22 +01:00
Miss Islington (bot)
46cc4f0f76
[3.12] gh-105184: document that marshal functions can fail and need to be checked with PyErr_Occurred (GH-105185) (#105218)
gh-105184: document that marshal functions can fail and need to be checked with PyErr_Occurred (GH-105185)
(cherry picked from commit ee26ca13a1)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2023-06-02 08:24:25 +00:00
Miss Islington (bot)
c38ceb032d
[3.12] gh-105020: Share tp_bases and tp_mro Between Interpreters For All Static Builtin Types (gh-105115) (gh-105124)
In gh-103912 we added tp_bases and tp_mro to each PyInterpreterState.types.builtins entry.  However, doing so ignored the fact that both PyTypeObject fields are public API, and not documented as internal (as opposed to tp_subclasses).  We address that here by reverting back to shared objects, making them immortal in the process.
(cherry picked from commit 7be667d)

Co-authored-by: Eric Snow ericsnowcurrently@gmail.com
2023-06-01 22:24:55 +00:00
Erlend E. Aasland
83c7386cee
[3.12] GH-89886: Bump to GNU Autoconf v2.71 (#104925) (#105207)
Co-authored-by: Christian Heimes <christian@python.org>
2023-06-01 22:19:19 +00:00
Barney Gale
e7cb216339
[3.12] GH-105113: Improve performance of pathlib.PurePath.match() (GH-105114)
We now compile a `re.Pattern` object for the entire pattern. This is made
more difficult by `fnmatch` not treating directory separators as special
when evaluating wildcards (`*`, `?`, etc), and so we arrange the path parts
onto separate *lines* in a string, and ensure we don't set `re.DOTALL`.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-31 21:37:37 +01:00
Miss Islington (bot)
4f477c796c
[3.12] gh-87729: add LOAD_SUPER_ATTR to 3.12 What's New (GH-105125) (#105143) 2023-05-31 07:47:03 -06:00
Miss Islington (bot)
d3c21a9f33
[3.12] gh-97933: add LOAD_FAST_AND_CLEAR to 3.12 What's New bytecode section (GH-105126) (#105142) 2023-05-31 07:46:26 -06:00
Victor Stinner
01b42f9559
[3.12] gh-105096: Reformat wave documentation (#105136) (#105138)
gh-105096: Reformat wave documentation (#105136)

Add ".. class::" markups in the wave documentation.

* Reformat also wave.py (minor PEP 8 changes).
* Remove redundant "import struct": it's already imported at top
  level.
* Remove wave.rst from .nitignore

(cherry picked from commit 85e5d03163)
2023-05-31 12:04:21 +00:00
Miss Islington (bot)
9ae49e3f3b
gh-88745: Add _winapi.CopyFile2 and update shutil.copy2 to use it (GH-105055)
(cherry picked from commit cda1bd3c9d)

Co-authored-by: Steve Dower <steve.dower@python.org>
2023-05-30 20:33:17 +01:00
Miss Islington (bot)
aeee5a5756
[3.12] gh-105071: add missing versionadded directive (GH-105097) (#105105)
gh-105071: add missing versionadded directive (GH-105097)
(cherry picked from commit 4571eedca2)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2023-05-30 17:03:57 +00:00
Miss Islington (bot)
9fb7abba6d
[3.12] gh-103921: Minor PEP-695 fixes to the ast module docs (GH-105093) (#105101)
(cherry picked from commit c8c1e73d95)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-30 09:34:57 -07:00
Irit Katriel
b45df737d4
[3.12] gh-105071: add PyUnstable_Exc_PrepReraiseStar to expose except* implementation in the unstable API (GH-105072) (#105095)
(cherry picked from commit b7aadb4583)
2023-05-30 16:50:23 +01:00
Miss Islington (bot)
7899fac3c5
[3.12] gh-104799: Move location of type_params AST fields (GH-104828) (#104974)
gh-104799: Move location of type_params AST fields (GH-104828)
(cherry picked from commit ba73473f4c)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-30 14:33:01 +00:00
Miss Islington (bot)
67945261c4
[3.12] GH-89455: Add missing attributes (added in 3.11) to traceback module docs (GH-105044) (#105066)
GH-89455: Add missing attributes (added in 3.11) to traceback module docs (GH-105044)
(cherry picked from commit 39f6a0489f)

Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-05-29 20:37:02 +01:00
Miss Islington (bot)
635ce29257
gh-104803: Implement ntpath.isdevdrive for checking whether a path is on a Windows Dev Drive (GH-104805)
(cherry picked from commit bfd20d257e)

Co-authored-by: Steve Dower <steve.dower@python.org>
2023-05-29 13:36:08 +01:00
Miss Islington (bot)
74bbc603e4
[3.12] Document PEP 698 and other new typing features in What's New (GH-104957) (#105045)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-05-28 12:15:36 -07:00
Miss Islington (bot)
36a4227859
[3.12] gh-104992: [What's New in 3.12] Document unittest.TestProgram.usageExit's deprecation (GH-104995) (#105036)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-05-28 08:12:30 +00:00
Miss Islington (bot)
368d177da5
[3.12] gh-104992: [What's New in 3.11] Document unittest.TestProgram.usageExit's deprecation (GH-104994) (#105009)
gh-104992: [What's New in 3.11] Document unittest.TestProgram.usageExit's deprecation (GH-104994)

Document unittest.TestProgram.usageExit's pending removal in 3.13
(cherry picked from commit 7df861c23c)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-05-26 19:17:09 -07:00
Miss Islington (bot)
05189f3054
[3.12] GH-101588: Deprecate pickle/copy/deepcopy support in itertools (GH-104965) (GH-104997) 2023-05-26 16:02:42 -05:00
Miss Islington (bot)
dcee0aa911
[3.12] gh-103921: Document PEP 695 (GH-104642) (#104989)
(cherry picked from commit 060277d96b)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-26 18:19:34 +00:00