Commit Graph

114621 Commits

Author SHA1 Message Date
Cyker Way 24e0379624
gh-90155: Fix bug in asyncio.Semaphore and strengthen FIFO guarantee (#93222)
The main problem was that an unluckily timed task cancellation could cause
the semaphore to be stuck. There were also doubts about strict FIFO ordering
of tasks allowed to pass.

The Semaphore implementation was rewritten to be more similar to Lock.
Many tests for edge cases (including cancellation) were added.
2022-09-22 09:34:45 -07:00
Brandt Bucher 8fd2c3b75b
GH-96975: Skip incomplete frames in PyEval_GetFrame (GH-97003) 2022-09-22 09:16:52 -07:00
Harry ec403536f1
include OrderedDict import in TimeBoundedLRU example (GH-96962) 2022-09-22 10:58:19 -05:00
Dong-hee Na 10e3d398c3
gh-97005: Update libexpat from 2.4.7 to 2.4.9 (gh-97006)
Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
2022-09-22 21:25:05 +09:00
partev b4f5f07d07
Doc: fix link redirect (GH-96606)
"Hyperbolic_function" -> "Hyperbolic_functions"
2022-09-21 21:47:46 +02:00
Stanley 4b81139aac
gh-81039: Add small example of f-string's "=}" to tutorial (gh-92291) 2022-09-21 08:57:03 -04:00
Batuhan Taskaya 5a32eeced2
gh-96954: Add tests for unicodedata.name/lookup (#96955)
They were undertested, and since #96954 might involve a
rewrite of this part of the code we want to ensure that
there won't be any behavioral change.

Co-authored-by: Carl Friedrich Bolz-Tereick <cfbolz@gmx.de>
2022-09-21 14:52:40 +02:00
Stanley e5ab0b6aa6
gh-71141: Add note on rejecting "leading-dot" syntax for with statements (#96928)
Co-authored-by: Daniël van Noord <13665637+DanielNoord@users.noreply.github.com>
2022-09-20 21:16:39 -07:00
Nikita Sobolev 57463d43dc
gh-90808: add more examples to `test_sched.test_priority` (#31144) 2022-09-20 18:34:13 -07:00
wim glenn 58882640d6
[Enum] fix typos (GH-96285) 2022-09-20 16:31:05 -07:00
Nikita Sobolev 9b58eaf98c
gh-95591: [Enum] use `_FlagTests` base class (GH-96475) 2022-09-20 16:08:39 -07:00
Виталий Дмитриев a3e2f054d2
gh-96947: Fix comment on `pyruntimestate->pyinterpreters` struct for `next_id` (GH-96949)
`_next_interp_id` appeared on [this commit](e377416c10 (diff-7ac11e526f79b42d6ea9d3592cb99da46775640c69fa5510f4a6de87cced7141R68)) renamed to `next_id` ([by this commit](2ebc5ce42a (diff-bccfc01bd96b58c022dde77486b8a896cbb31d7581bd4a4156b32c3654afe468R59))). 

Also, now, `next_id` gets initialized in` _PyInterpreterState_Enable()` 12c5f328d2/Python/pystate.c (L241-L244) because `_PyInterpreterState_Init()` function doesn't exist at all.
2022-09-20 12:54:33 -07:00
Brandt Bucher dfc73b5724
GH-95921: Fix positions for some chained comparisons (GH-96968) 2022-09-20 12:22:24 -07:00
Samuel 8563966be4
Fix minor comment typo in dictobject.c (GH-96960)
Fix a minor comment typo in the Objects/dictobject.c file.

Automerge-Triggered-By: GH:methane
2022-09-20 05:17:40 -07:00
Irit Katriel 98e785d364
gh-87092: in compiler, move the detection of exception handlers before the CFG optimization stage (GH-96935) 2022-09-20 13:14:07 +01:00
serge-sans-paille fc05107af9
gh-96711: Enhance SystemError message upon Invalid opcode (#96712)
Raise verbose SystemError instead of printing debug information
upon Invalid opcode.

Fix #96711
2022-09-20 12:00:34 +02:00
Vinay Sajip 6ad47b41a6
gh-96727: Document restrictions on Handler.emit() with respect to locking. (GH-96948) 2022-09-20 09:40:06 +01:00
Gregory P. Smith 34de67c094
gh-96512: Update int_max_str docs to say 3.11 (#96942)
It was unknown if it'd be before 3.11.0 when creating the original
changes.  It's in 3.11rc2, so 3.11 it is.
2022-09-19 16:43:11 -07:00
Gregory P. Smith e61ca22431
gh-95865: Further reduce quote_from_bytes memory consumption (#96860)
on large input values.  Based on Dennis Sweeney's chunking idea.
2022-09-19 16:06:25 -07:00
Victor Stinner 04f4977f50
gh-96387: take_gil() resets drop request before exit (#96869)
At Python exit, sometimes a thread holding the GIL can wait forever
for a thread (usually a daemon thread) which requested to drop the
GIL, whereas the thread already exited. To fix the race condition,
the thread which requested the GIL drop now resets its request before
exiting.

take_gil() now calls RESET_GIL_DROP_REQUEST() before
PyThread_exit_thread() if it called SET_GIL_DROP_REQUEST to fix a
race condition with drop_gil().

Issue discovered and analyzed by Mingliang ZHAO.
2022-09-20 00:13:56 +02:00
Brandt Bucher c10e33ac11
GH-96864: Check for error between line and opcode events (GH-96880) 2022-09-19 14:02:24 -07:00
Shantanu 5b3a2569f4
gh-96917: link to typing.readthedocs.io from typing.rst (#96921)
See the discussion at https://github.com/python/cpython/issues/91533
2022-09-19 12:09:41 -07:00
C.A.M. Gerlach 558768ff22
gh-95913: Copyedit, link & format Typing Features section in 3.11 What's New (GH-96097)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-09-19 15:44:01 +02:00
C.A.M. Gerlach 8ee27e3318
gh-95913: Fix and copyedit New Features section of 3.11 What's New (GH-95915) 2022-09-19 15:32:51 +02:00
Matthias Görgens cbdeda8ce7
gh-96821: Fix undefined behaviour in `_testcapimodule.c` (GH-96915)
* gh-96821: Assert for demonstrating undefined behaviour

* Fix UB

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-09-19 15:59:13 +08:00
Raymond Hettinger bbc24b2bd5
GH-96851: Add link to FAQ entry for caching method calls. (GH-96902) 2022-09-18 16:36:20 -05:00
partev 2d1a2d902a
fix various typos in random module's documentation (GH-96912) 2022-09-18 14:35:22 -07:00
Scott Main 810ae51787
gh-94787: [doc] Add to argparse doc an example of a mutually-exclusive group nested in an argument group (GH-94807) 2022-09-18 09:05:43 +01:00
Raymond Hettinger 670007abb4
Clarify that the expression is regular math notation, not Python. (#96903) 2022-09-17 21:09:39 -05:00
Terry Jan Reedy aa671b48d6
gh-87179: Fix more IDLE class headers (#96899)
Remove unneeded '(object)' and '()'.
2022-09-17 17:53:23 -04:00
Guido van Rossum 487135a396
Revert "gh-87079: Warn on unintended signal wakeup fd override in `asyncio` (#96807)" (#96898)
This reverts commit 0587810698.
Reason: This broke buildbots (some warnings added by that commit are turned to errors in the SSL buildbot).
Repro:  ./python Lib/test/ssltests.py
2022-09-17 14:12:45 -07:00
Lysandros Nikolaou 7e36abbb78
gh-91210: Improve error message when non-default param follows default (GH-95933)
- Improve error message when parameter without a default follows one with a default
- Show same error message when positional-only params precede the default/non-default sequence
2022-09-17 10:09:28 -07:00
Raymond Hettinger 78359b1d45
Simplify sieve() recipe. Add edge case tests. (GH-96892) 2022-09-17 11:31:04 -05:00
Michel Hidalgo 0587810698
gh-87079: Warn on unintended signal wakeup fd override in `asyncio` (#96807)
Warn on loop initialization, when setting the wakeup fd disturbs a previously set wakeup fd, and on loop closing, when upon resetting the wakeup fd, we find it has been changed by someone else.
2022-09-17 08:07:54 -07:00
Vinay Sajip 2cd70ffb3f
gh-96861: Check for unset sys.executable during venv creation. (GH-96887) 2022-09-17 12:58:31 +01:00
Christian Heimes 0b62964b04
gh-96883: browser: include concurrent.futures (GH-96886) 2022-09-17 13:23:39 +02:00
Benjamin Peterson c00f2b15d8
fixes gh-96841: replace Mercurial with VCS (#96879) 2022-09-16 11:26:02 -07:00
Victor Stinner e841ffc915
gh-95778: Mention sys.set_int_max_str_digits() in error message (#96874)
When ValueError is raised if an integer is larger than the limit,
mention sys.set_int_max_str_digits() in the error message.
2022-09-16 20:04:37 +02:00
Serhiy Storchaka 426d72e7dd
gh-96052: codeop: fix handling compiler warnings in incomplete input (GH-96132)
Previously codeop.compile_command() emitted compiler warnings (SyntaxWarning or
DeprecationWarning) and raised a SyntaxError for incomplete input containing
a potentially incorrect code. Now it always returns None for incomplete input
without emitting any warnings.
2022-09-16 17:37:30 +03:00
Dong-hee Na e47b96c44f
gh-89536: Use ThinLTO policy if possible (gh-96766) 2022-09-16 19:40:05 +09:00
Erlend E. Aasland 16c33a9676
gh-96810: Clarify for which statements sqlite3 implicitly opens transactions (#96832) 2022-09-15 23:11:52 +02:00
Dennis Sweeney 303bd88047
Fix ResourceWarning in test.test_frame (GH-96831) 2022-09-15 18:31:45 +01:00
adphrost a41ed975e8
GH-91049: Introduce set vectorcall field API for PyFunctionObject (GH-92257)
Co-authored-by: Andrew Frost <adfrost@fb.com>
Co-authored-by: Itamar Ostricher <itamarost@gmail.com>
2022-09-15 16:42:37 +01:00
Nikita Sobolev e37ac5fbb6
gh-96751: Remove dead code from `CALL_FUNCTION_EX` opcode (GH-96752) 2022-09-15 10:33:13 +01:00
Ruan Comelli 8e9a37dde4
Fix type annotation of `pstats.FunctionProfile.ncalls` (#96741)
* fix: annotate `pstats.FunctionProfile.ncalls` as `str`

This change aligns the type annotation of `pstats.FunctionProfile.ncalls` with its runtime type.
2022-09-14 18:33:43 -07:00
Brandt Bucher a83fdf2563
GH-90997: Improve inline cache performance for MSVC (GH-96781) 2022-09-14 17:05:04 -07:00
Benjamin Peterson 9f1814723f
Revert accidental removal from 3.12 doc. (gh-96826) 2022-09-14 07:59:23 -07:00
Yusuke Kadowaki 92338f8f19
gh-77171 Support WAVE_FORMAT_EXTENSIBLE in the wave module (GH-96777)
The test file, a modified version of Lib/test/audiodata/pluck-pcm24.wav, was provided by Andrea Celletti on the bug tracker.

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2022-09-14 14:34:40 +01:00
Kevin Modzelewski 4781535a57
ceval: Use _PyTuple_FromArraySteal in BUILD_TUPLE (GH-96516) 2022-09-14 12:44:32 +09:00
Nikita Sobolev f2d749a2c2
gh-96784: Cover more typing special forms in `get_args()` (#96791) 2022-09-13 19:35:52 -07:00