117894 Commits

Author SHA1 Message Date
Victor Stinner
d228825e08
gh-106320: Remove _PyOS_ReadlineTState API (#107034)
Remove _PyOS_ReadlineTState variable from the public C API.
The symbol is still exported for the readline shared extension.
2023-07-22 14:45:56 +00:00
Jocelyn Castellano
e5252c6127
gh-105090: Replace incorrect TLSv1.2 with TLSv1.3 (#105404) 2023-07-22 14:29:08 +00:00
Victor Stinner
ae8b114c5b
gh-106320: Move private _PyGen API to the internal C API (#107032)
Move private _PyGen API to internal C API:

* _PyAsyncGenAThrow_Type
* _PyAsyncGenWrappedValue_Type
* _PyCoroWrapper_Type
* _PyGen_FetchStopIterationValue()
* _PyGen_Finalize()
* _PyGen_SetStopIterationValue()

No longer these symbols, except of the ones by the _asyncio shared
extensions.
2023-07-22 14:21:16 +00:00
Victor Stinner
eda9ce1487
gh-106320: Move _PyNone_Type to the internal C API (#107030)
Move private types _PyNone_Type and _PyNotImplemented_Type to
internal C API.
2023-07-22 14:12:17 +00:00
Victor Stinner
89f9875448
gh-106320: Move private _PyHash API to the internal C API (#107026)
* No longer export most private _PyHash symbols, only export the ones
  which are needed by shared extensions.
* Modules/_xxtestfuzz/fuzzer.c now uses the internal C API.
2023-07-22 13:49:37 +00:00
Victor Stinner
756add081e
gh-106320: Document private C API removal in What's New 3.13 (#107027) 2023-07-22 15:30:13 +02:00
Bart Skowron
2aba047f0a
gh-69714: Make calendar module fully tested (#93655)
There are 3 paths to use `locale` argument in
`calendar.Locale{Text|HTML}Calendar.__init__(..., locale=None)`:
(1) `locale=None` -- denotes the "default locale"[1]
(2) `locale=""` -- denotes the native environment
(3) `locale=other_valid_locale` -- denotes a custom locale

So far case (2) is covered and case (1) is in 78935daf5a (same branch).
This commit adds a remaining case (3).

[1] In the current implementation, this translates into the following
approach:

GET current locale
IF current locale == "C" THEN
  SET current locale TO ""
  GET current locale
ENDIF

* Remove unreachable code (and increase test coverage)

This condition cannot be true. `_locale.setlocale()` from the C module
raises `locale.Error` instead of returning `None` for
`different_locale.__enter__` (where `self.oldlocale` is set).

* Expand the try clause to calls to `LocaleTextCalendar.formatmonthname()`.

This method temporarily changes the current locale to the given locale,
so `_locale.setlocale()` may raise `local.Error`.


Co-authored-by: Rohit Mediratta <rohitm@gmail.com>
Co-authored-by: Jessica McKellar <jesstess@mit.edu>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2023-07-22 15:20:40 +02:00
Victor Stinner
463b56da12
gh-106320: Remove private _PyUnicode_AsString() alias (#107021)
Remove private _PyUnicode_AsString() alias to PyUnicode_AsUTF8(). It
was kept for backward compatibility with Python 3.0 - 3.2.

The PyUnicode_AsUTF8() is available since Python
3.3. The PyUnicode_AsUTF8String() function can be used to keep
compatibility with Python 3.2 and older.
2023-07-22 13:15:05 +00:00
Menelaos Kotoglou
76e20c361c
gh-106989: Remove tok report warnings (#106993) 2023-07-22 14:23:23 +02:00
Eric Snow
adda43dc0b
gh-105699: Add some stress tests for subinterpreter creation (#106966) 2023-07-22 14:21:55 +02:00
Joe Kaufeld
ed491d9f78
Reformat code block to make it easier to read (#106965) 2023-07-22 14:19:30 +02:00
Victor Stinner
4a1026d764
gh-106714: Fix test_capi to not write a coredump (#107007)
test_capi: Fix test_no_FatalError_infinite_loop() to no longer write
a coredump, by using test.support.SuppressCrashReport.
2023-07-22 12:17:25 +00:00
Sebastiaan Zeeff
6dbffaed17
gh-106969: Indicate no modules were added in 3.10 & 3.12 (#106988)
The "New Modules" section was left in place to ensure that the anchor
link for new modules will still exist:

/whatsnew/3.12.html#new-modules
/whatsnew/3.10.html#new-modules

This means that existing links to this section don't break.
2023-07-22 14:13:44 +02:00
Erlend E. Aasland
c5adf26b18
gh-104050: Argument Clinic: Annotate the BufferSeries class (#106935)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-07-22 12:46:42 +02:00
Daniele Procida
f8f16d0cfc
gh-106996: Amend the introduction to the turtle graphics documentation (#106997)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-07-22 04:31:44 -06:00
Sven Arends
6acd85d910
gh-106978: Bump sphinx-lint to 0.6.8 (#106990) 2023-07-22 09:38:47 +00:00
Erlend E. Aasland
ee5c01b473
gh-106368: Increase coverage for Argument Clinic output directive (#106979) 2023-07-22 09:32:10 +00:00
littlebutt's workshop
443d9b3033
gh-106976:alphabetise bullets by module name task1 (#106982) 2023-07-22 10:34:48 +02:00
Sebastiaan Zeeff
d55b4da10c
gh-106973: Change non-integral to non-integer in "3.12 What's New" (#106984) 2023-07-22 02:27:48 -06:00
Hugo van Kemenade
806d7c98a5
gh-101100: Docs: Check Sphinx warnings and fail if improved (#106460) 2023-07-22 08:12:43 +00:00
Erlend E. Aasland
3372bcba98
gh-106970: Fix Argument Clinic 'destination <name> clear' command (#106972)
Add test for the 'destination <name> clear' command,
and the 'destination' directive in general.

Fix two bugs in 'destination <name> clear' command:

1. The text attribute of the allocator is called 'text', not '_text'
2. Return after processing the 'clear' command,
   instead of proceeding directly to the fail().
2023-07-22 09:43:13 +02:00
James Hilton-Balfe
cdeb1a6caa
gh-96663: Add a better error message for __dict__-less classes setattr (#103232) 2023-07-21 17:24:26 -07:00
Victor Stinner
41ca164551
gh-106004: Add PyDict_GetItemRef() function (#106005)
* Add PyDict_GetItemRef() and PyDict_GetItemStringRef() functions.
  Add these functions to the stable ABI version 3.13.
* Add unit tests on the PyDict C API in test_capi.
2023-07-21 23:10:51 +02:00
Eric Snow
0ba07b2108
gh-105699: Fix a Crasher Related to a Deprecated Global Variable (gh-106923)
There was a slight race in _Py_ClearFileSystemEncoding() (when called from _Py_SetFileSystemEncoding()), between freeing the value and setting the variable to NULL, which occasionally caused crashes when multiple isolated interpreters were used.  (Notably, I saw at least 10 different, seemingly unrelated spooky-action-at-a-distance, ways this crashed. Yay, free threading!)  We avoid the problem by only setting the global variables with the main interpreter (i.e. runtime init).
2023-07-21 08:34:09 -06:00
Eric Snow
87e7cb09e4
gh-105699: Fix an Interned Strings Crasher (gh-106930)
A static (process-global) str object must only have its "interned" state cleared when no longer interned in any interpreters.  They are the only ones that can be shared by interpreters so we don't have to worry about any other str objects.

We trigger clearing the state with the main interpreter, since no other interpreters may exist at that point and _PyUnicode_ClearInterned() is only called during interpreter finalization.

We do not address here the fact that a string will only be interned in the first interpreter that interns it.  In any subsequent interpreters str.state.interned is already set so _PyUnicode_InternInPlace() will skip it.  That needs to be addressed separately from fixing the crasher.
2023-07-21 08:32:42 -06:00
qqwqqw689
fd84ac0ee0
gh-106847: Add -X warn_default_encoding in sys.flags Doc (#106854)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-07-21 15:47:58 +05:30
Serhiy Storchaka
4b9948617f
gh-106909: Use role :const: for referencing module constants (GH-106910) 2023-07-21 12:40:37 +03:00
Serhiy Storchaka
d036db728e
gh-106892: Use roles :data: and :const: for referencing module variables (GH-106894) 2023-07-21 12:34:30 +03:00
Serhiy Storchaka
8d397ee825
gh-47146: Fix reference counting in _testcapi.structmember initializer (GH-106862) 2023-07-21 12:30:14 +03:00
Serhiy Storchaka
fcc816dbff
gh-106919: Use role :c:macro: for referencing the C "constants" (GH-106920) 2023-07-21 10:52:07 +03:00
Erlend E. Aasland
81861fd90b
Docs: Argument Clinic: Add Background and Tutorial top-level sections (#106904)
Add Background as a toplevel section with the following subsections:

- Background
  - The goals of Argument Clinic
  - Basic concepts and usage

Rename "Converting your first function" to Tutorial.

Add anchors for Background, Tutorial, and How-to Guides:

- :ref:`clinic-background`
- :ref:`clinic-tutorial`
- :ref:`clinic-howtos`

Link to these from within the Abstract.

Break the compatibility paragraph out of Abstract and make it a note.

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2023-07-21 08:05:41 +02:00
Erlend E. Aasland
8d228cf66f
gh-106368: Increase Argument Clinic test coverage for IndentStack (#106933) 2023-07-21 08:02:39 +02:00
Kirill Podoprigora
85ed1d2442
gh-106916: Add missing error check _PyCompile_CleanDoc (#106921)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-07-21 13:56:58 +09:00
Gregory P. Smith
a31dea1feb
gh-106669: Revert "gh-102988: Detect email address parsing errors ... (#105127)" (#106733)
This reverts commit 18dfbd035775c15533d13a98e56b1d2bf5c65f00.
Adds a regression test from the issue.

See https://github.com/python/cpython/issues/106669.
2023-07-20 20:30:52 -07:00
Erlend E. Aasland
d81b4f8ff8
gh-104050: Argument Clinic: Annotate the IndentStack class (#106934) 2023-07-20 23:19:11 +00:00
Guido van Rossum
1218910860
gh-105540: Show source files relative to root (#106927)
This restores a corner case: when the generator is run with working directory set to Tools/cases_generator, the source filenames listed in the generated provenance header should be relative to the repo root directory.
2023-07-20 23:08:52 +00:00
Makonede
60e83968d5
Fix typo in tkinter docs (#106936)
Signed-off-by: Makonede <61922615+Makonede@users.noreply.github.com>
2023-07-21 00:07:06 +01:00
Erlend E. Aasland
1d5a625eb0
gh-104050: Argument Clinic: Increase CConverter typing coverage (#106932)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-07-20 22:45:02 +00:00
Erlend E. Aasland
42c6300d4f
gh-104050: Argument Clinic: Annotate CLanguage.render_option_group_parsing() (#106929)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-07-20 21:33:33 +00:00
Brandt Bucher
8f4de57699
GH-106701: Move _PyUopExecute to Python/executor.c (GH-106924) 2023-07-20 20:37:19 +00:00
Irit Katriel
9c81fc2dbe
gh-105481: do not auto-generate pycore_intrinsics.h (#106913) 2023-07-20 17:46:04 +01:00
Brandt Bucher
214a25dd81
GH-104584: Miscellaneous fixes for -Xuops (GH-106908) 2023-07-20 16:35:39 +00:00
Zach Brantmeier
009e8f084c
Fix typo in 3.11.4 changelog: urllib.request.Requst -> Request (#106830) 2023-07-20 09:28:21 +00:00
Charlie Zhao
a1620dd7b7
gh-106078: Prepare to isolate decimal module (#106880)
* move signal_map to global_state

* move cond_map to global_state
2023-07-20 09:24:35 +00:00
Irit Katriel
eeff8e7234
gh-102799: use sys.exception() instead of sys.exc_info() in contextlib (#103311)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2023-07-20 14:41:32 +05:30
Pieter Eendebak
832c37d42a
gh-106751: Optimize _PolllikeSelector for many iteration case (gh-106884) 2023-07-20 09:53:11 +09:00
Jack Nelson
1e1f4e91a9
gh-106882: Note that asyncio.Server is only publicly exposed on 3.11+ (#106901)
And later versions of 3.10, 3.9
2023-07-19 20:56:26 +01:00
Barney Gale
c6c5665ee0
GH-100502: Add pathlib.PurePath.pathmod attribute (GH-106533)
This instance attribute stores the implementation of `os.path` used for
low-level path operations: either `posixpath` or `ntpath`.
2023-07-19 18:59:55 +01:00
Victor Stinner
a1a3193990
Export _PyEval_SetProfile() as a function, not data (#106887) 2023-07-19 11:07:40 +00:00
Yonatan Bitton
70b961ed93
gh-104090: Fix unittest collectedDurations resources leak (#106795) 2023-07-19 12:03:47 +01:00