117908 Commits

Author SHA1 Message Date
Victor Stinner
0927a2b25c
GH-103082: Rename PY_MONITORING_EVENTS to _PY_MONITORING_EVENTS (#107069)
Rename private C API constants:

* Rename PY_MONITORING_UNGROUPED_EVENTS to _PY_MONITORING_UNGROUPED_EVENTS
* Rename PY_MONITORING_EVENTS to _PY_MONITORING_EVENTS
2023-07-22 21:35:27 +00:00
J. Nick Koston
b7dc795dfd
gh-106527: asyncio: optimize to add/remove readers and writers (#106528) 2023-07-22 21:07:40 +00:00
Victor Stinner
ee15844db8
gh-106320: Move _PyMethodWrapper_Type to internal C API (#107064) 2023-07-22 20:57:59 +00:00
Jochem Boersma
5e5a34ac3a
gh-107028: tiny textual changes in logging docs and docstrings (GH-107029) 2023-07-22 21:43:18 +01:00
Victor Stinner
22422e9d1a
gh-106320: Remove private _PyInterpreterID C API (#107053)
Move the private _PyInterpreterID C API to the internal C API: add a
new pycore_interp_id.h header file.

Remove Include/interpreteridobject.h and
Include/cpython/interpreteridobject.h header files.
2023-07-22 19:31:55 +00:00
Serhiy Storchaka
f8b7fe2f26
gh-106948: Add standard external names to nitpick_ignore (GH-106949)
It includes standard C types, macros and variables like "size_t",
"LONG_MAX" and "errno", and standard environment variables like "PATH".
2023-07-22 21:35:22 +03:00
Serhiy Storchaka
26e08dfdd7
gh-107008: Document the curses module variables LINES and COLS (GH-107011)
LINES and COLS referred in curses.update_lines_cols() documentations are
the module variables, not the environment variables.
2023-07-22 19:54:50 +03:00
Victor Stinner
6fbc717214
gh-106320: Remove _Py_SwappedOp from the C API (#107036)
Move _Py_SwappedOp to the internal C API (pycore_object.h).
2023-07-22 16:07:07 +00:00
Moritz Neeb
9c38206925
gh-75371: reformat Makefile.pre.in to accommodate for empty FRAMEWORKALTINSTALLLAST (#107035)
in the case of an empty FRAMEWORKALTINSTALLLAST, this patch prevents leaving
an astray linebreak and two tabs in the resulting Makefile.

Before change:
```
.PHONY: commoninstall
commoninstall:  check-clean-src  \
		altbininstall libinstall inclinstall libainstall \
		sharedinstall altmaninstall \

```

After change (with empty FRAMEWORKALTINSTALLLAST):
```
.PHONY: commoninstall
commoninstall:  check-clean-src  \
		altbininstall libinstall inclinstall libainstall \
		sharedinstall altmaninstall
```
2023-07-22 17:59:11 +02:00
Matthieu Caneill
6e5f2235f3
gh-83006: Document behavior of shutil.disk_usage for non-mounted filesystems on Unix (#107031) 2023-07-22 17:58:06 +02:00
wulmer
149748ea4f
Fix Sphinx warnings in re module docs (#107044) 2023-07-22 16:44:44 +01:00
Victor Stinner
5e4af2a3e9
gh-106320: Move private _PySet API to the internal API (#107041)
* Add pycore_setobject.h header file.
* Move the following API to the internal C API:

  * _PySet_Dummy
  * _PySet_NextEntry()
  * _PySet_Update()
2023-07-22 17:04:34 +02:00
Oliver Rew
c92ef6fe0e
gh-106967: remove Release and Date fields from whatsnew for 3.12 and 3.13 (#107000) 2023-07-22 14:57:51 +00:00
Matthieu Caneill
3782def5a2
gh-65495: Use lowercase mail from and rcpt to in smtplib.SMTP (#107019)
Use lowercase `mail from` and `rcpt to` in `smtplib.SMTP`

SMTP commands are case-insensitive. `smtplib` uses lowercase commands,
however it writes `mail FROM` and `rcpt TO`, lacking consistency.
2023-07-22 16:46:59 +02:00
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