summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Post 3.12.0b1Thomas Wouters2023-05-221-1/+1
|
* Python 3.12.0b1v3.12.0b1Thomas Wouters2023-05-22232-628/+2669
|
* gh-101282: Apply BOLT optimizations to libpython for shared builds (#104709)Gregory Szorc2023-05-226-130/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply BOLT optimizations to libpython for shared builds. Most of the C code is in libpython so it is critical to apply BOLT there fully realize BOLT benefits. This change also reworks how BOLT instrumentation is applied. It effectively removes the readelf based logic added in gh-101525 and replaces it with a mechanism that saves a copy of the pre-bolt binary and restores that copy when necessary. This allows us to perform BOLT optimizations without having to manually delete the output binary to force a new bolt run. Also: - add a clean-bolt target for purging BOLT files and hook that up to the clean target - .gitignore BOLT related files Before and after this refactor, `make` will no-op after a previous run. Both versions should also share common make DAG deficiencies where targets fail to trigger as often as they need to or can trigger prematurely in certain scenarios. e.g. after this change you may need to `rm profile-bolt-stamp` to force a BOLT run because there aren't appropriate non-phony targets for BOLT's make target to depend on. To make it easier to iterate on custom BOLT settings, the flags to pass to instrumentation and application are now defined in configure and can be overridden by passing BOLT_INSTRUMENT_FLAGS and BOLT_APPLY_FLAGS.
* gh-104741: Add line number attribute to indentation error exception (#104743)Marta Gómez Macías2023-05-223-8/+20
|
* gh-102856: Allow comments inside multi-line f-string expresions (#104006)Cristián Maureira-Fredes2023-05-222-7/+38
|
* gh-94473: Flatten arguments in tkinter.Canvas.coords() (GH-98479)Serhiy Storchaka2023-05-224-1/+21
| | | | | It now accepts not only "x1, y1, x2, y2, ..." and "[x1, y1, x2, y2, ...]", but also "(x1, y1), (x2, y2), ..." and "[(x1, y1), (x2, y2), ...]".
* Update macOS installer ReadMe and Welcome screens for 3.12.0b1. (GH-104739)Ned Deily2023-05-222-27/+6
|
* gh-99834: Update macOS installer to Tcl/Tk 8.6.13. (GH-104738)Ned Deily2023-05-222-3/+4
|
* gh-104656: Rename typeparams AST node to type_params (#104657)Jelle Zijlstra2023-05-2214-287/+290
|
* gh-104536: Improve `multiprocessing.process._cleanup` logic (#104537)Luccccifer2023-05-222-1/+4
| | | | | | | | | | Fix a race condition in the internal `multiprocessing.process` cleanup logic that could manifest as an unintended `AttributeError` when calling `BaseProcess.close()`. --------- Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net> Co-authored-by: Gregory P. Smith <greg@krypto.org>
* GH-103092: isolate `_ssl` (#104725)Kumar Aditya2023-05-223-14/+21
|
* gh-102856: Tokenize performance improvement (#104731)Marta Gómez Macías2023-05-222-13/+17
|
* gh-104683: clinic.py: Modernise `parse_converter()` using pattern-matching ↵Alex Waygood2023-05-211-15/+19
| | | | (#104696)
* gh-104686: Fix tracing for decorated classes (#104708)Jelle Zijlstra2023-05-212-0/+50
|
* gh-104683: `clinic.py`: Improve coverage for the `parse_converter` method ↵Alex Waygood2023-05-211-0/+39
| | | | (#104729)
* gh-98836: Extend PyUnicode_FromFormat() (GH-98838)Serhiy Storchaka2023-05-2110-288/+585
| | | | | | | | | * Support for conversion specifiers o (octal) and X (uppercase hexadecimal). * Support for length modifiers j (intmax_t) and t (ptrdiff_t). * Length modifiers are now applied to all integer conversions. * Support for wchar_t C strings (%ls and %lV). * Support for variable width and precision (*). * Support for flag - (left alignment).
* gh-104050: Add more type annotations to Argument Clinic (#104631)Erlend E. Aasland2023-05-211-23/+44
| | | | | | | Annotate methods of the following classes: - class Function - class Parameter - class LandMine
* gh-104050: Add basic type hints to Argument Clinic clinic class (#104705)Erlend E. Aasland2023-05-211-17/+38
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-104050: Annotate Argument Clinic return converters (#104706)Erlend E. Aasland2023-05-211-30/+75
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-103857: Document utcnow and utcfromtimestamp deprecations in What's New ↵Hugo van Kemenade2023-05-212-1/+11
| | | | | | (#104542) Co-authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
* gh-104719: IDLE - delete useless monkeypatch of tokenize (#104726)Terry Jan Reedy2023-05-211-12/+6
|
* gh-104719: Restore Tokenize module constants (#104722)Marta Gómez Macías2023-05-211-0/+101
|
* GH-101291: Add low level, unstable API for pylong (GH-101685)Mark Shannon2023-05-218-20/+139
| | | Co-authored-by: Petr Viktorin <encukou@gmail.com>
* typing docs: Move some classes out of the "Generics" section (#104707)Jelle Zijlstra2023-05-211-146/+146
| | | | | | | | | | | | - AnyStr can be used in type annotations, contrary to the section header - Unpack can also be used in annotations, and its use is not restricted to generics. It makes more sense with other building blocks like Required. - Protocol is not necessarily generic. Also fix the indentation for two notes associated with Concatenate. Split off from #104642, but I think this change is independently an improvement.
* gh-104717: Add comment about manual loop unrolling (gh-104718)Dong-hee Na2023-05-211-0/+1
|
* gh-86275: improve Hypothesis configuration for CI and local runs (#104468)Zac Hatfield-Dodds2023-05-212-0/+44
|
* gh-103295: expose API for writing perf map files (#103546)gsallam2023-05-2111-72/+213
| | | | | Co-authored-by: Aniket Panse <aniketpanse@fb.com> Co-authored-by: Gregory P. Smith <greg@krypto.org> Co-authored-by: Carl Meyer <carl@oddbird.net>
* gh-104469: Convert _testcapi/exceptions to use AC (gh-104502)Dong-hee Na2023-05-214-99/+533
|
* Corrected identifier (#104713)William Sawyer2023-05-211-1/+1
|
* gh-104698: Fix reference leak in mmapmodule.c (#104700)Kirill Podoprigora2023-05-211-3/+19
| | | | Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-74690: Make a typing test more resilient (#104691)Alex Waygood2023-05-211-4/+3
|
* gh-102856: Python tokenizer implementation for PEP 701 (#104323)Marta Gómez Macías2023-05-2122-376/+426
| | | | | | | | | | | This commit replaces the Python implementation of the tokenize module with an implementation that reuses the real C tokenizer via a private extension module. The tokenize module now implements a compatibility layer that transforms tokens from the C tokenizer into Python tokenize tokens for backward compatibility. As the C tokenizer does not emit some tokens that the Python tokenizer provides (such as comments and non-semantic newlines), a new special mode has been added to the C tokenizer mode that currently is only used via the extension module that exposes it to the Python layer. This new mode forces the C tokenizer to emit these new extra tokens and add the appropriate metadata that is needed to match the old Python implementation. Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
* gh-61460: Stronger HMAC in multiprocessing (#20380)Christian Heimes2023-05-203-41/+200
| | | | | | | | | | | | | | | | | | | | | | bpo-17258: `multiprocessing` now supports stronger HMAC algorithms for inter-process connection authentication rather than only HMAC-MD5. Signed-off-by: Christian Heimes <christian@python.org> gpshead: I Reworked to be more robust while keeping the idea. The protocol modification idea remains, but we now take advantage of the message length as an indicator of legacy vs modern protocol version. No more regular expression usage. We now default to HMAC-SHA256, but do so in a way that will be compatible when communicating with older clients or older servers. No protocol transition period is needed. More integration tests to verify these claims remain true are required. I'm unaware of anyone depending on multiprocessing connections between different Python versions. --------- Signed-off-by: Christian Heimes <christian@python.org> Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
* gh-103606: raise RuntimeError if config file is invalid or empty (#104701)Prince Roshan2023-05-203-6/+6
| | | (this adjusts new code) raise RuntimeError if provided config file is invalid or empty, not ValueError.
* gh-104050: Add basic type hints to Argument Clinic DSL parser (#104704)Erlend E. Aasland2023-05-201-21/+40
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-104683: Modernise Tools/clinic/ (#104684)Alex Waygood2023-05-202-27/+31
| | | | | | | - Make some string interpolations more readable using f-strings or explicit parametrisation - Remove unneeded open() mode specifiers Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-49174: document that the effect of calling gc.collect() during a ↵Irit Katriel2023-05-201-0/+3
| | | | collection is undefined (#104699)
* gh-104372: Use non-Raw malloc for c_fds_to_keep in _posixsubprocess (#104697)Gregory P. Smith2023-05-201-2/+2
| | | Use non-Raw malloc for c_fds_to_keep as the code could ask for 0 length.
* gh-56276: Add tests to test_compare (#3199)Cheryl Sabella2023-05-201-17/+409
| | | | Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
* gh-104679 Fixed syntax highlighting in turtle docs (#104682)han-solo2023-05-201-83/+83
|
* gh-104658: Fix location of unclosed quote error for multiline f-strings ↵Pablo Galindo Salgado2023-05-203-3/+21
| | | | (#104660)
* gh-104683: Modernise `clinic.py` using `str.removeprefix` and ↵Alex Waygood2023-05-201-5/+5
| | | | | `str.removesuffix` (#104685) Both methods were new in Python 3.9.
* gh-104146: Purge dead code from Argument Clinic (#104680)Erlend E. Aasland2023-05-201-10/+1
| | | | | | | | | | | | | | The following local variables were assigned but never used: - line 551: result - line 1341: groups - line 1431: default_return_converter - line 1529: ignore_self - line 1809: input_checksum - line 4224: new' --- Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-104683: Argument clinic: use `dict` over `OrderedDict` (#104647)Alex Waygood2023-05-201-25/+23
| | | For code readability. Instances of `builtins.dict` have been ordered since 3.6, and have been guaranteed by the language to be ordered since Python 3.7. Argument Clinic now requires Python 3.10+.
* Replace "OS X" with "macOS" (#104653)partev2023-05-201-2/+2
|
* gh-103987: fix several crashes in mmap module (#103990)Prince Roshan2023-05-203-3/+101
| | | | Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* docs: fix wrong indentation causing rendering error in dis page (#104661)Nyakku Shigure2023-05-191-2/+2
|
* gh-94906: Support multiple steps in math.nextafter (#103881)Matthias Görgens2023-05-1910-18/+223
| | | | | | | This PR updates `math.nextafter` to add a new `steps` argument. The behaviour is as though `math.nextafter` had been called `steps` times in succession. --------- Co-authored-by: Mark Dickinson <mdickinson@enthought.com>
* gh-104472: Skip `test_subprocess.ProcessTestCase.test_empty_env` if ASAN is ↵chgnrdv2023-05-191-0/+3
| | | | | enabled (#104667) Skip test_subprocess.ProcessTestCase.test_empty_env if ASAN is enabled.
* gh-103839: Allow building Tkinter against Tcl 8.7 without external ↵Christopher Chavez2023-05-192-0/+5
| | | | libtommath (GH-103842)