summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* gh-85984: New additions and improvements to the tty library. (#101832)Soumendra Ganguly2023-05-193-18/+77
| | | | | | | | | | New additions to the tty library. Functions added: cfmakeraw(), and cfmakecbreak(). The functions setcbreak() and setraw() now return original termios to save an extra tcgetattr() call. --------- Signed-off-by: Soumendra Ganguly <soumendraganguly@gmail.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
* gh-104659: Consolidate python examples in enum documentation (#104665)Thomas Hisch2023-05-191-6/+6
|
* gh-92248: Deprecate `type`, `choices`, `metavar` parameters of ↵Nikita Sobolev2023-05-194-3/+74
| | | | | | | | `argparse.BooleanOptionalAction` (#103678) Co-authored-by: Kirill <80244920+Eclips4@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
* gh-104645: fix error handling in marshal tests (#104646)Irit Katriel2023-05-191-18/+14
|
* gh-104600: Make type.__type_params__ writable (#104634)Jelle Zijlstra2023-05-194-15/+71
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-104602: Add additional test for listcomp with lambda (#104639)Jelle Zijlstra2023-05-191-0/+10
| | | | | This threw a SystemError before #104603. Adding a separate test because this was a different failure mode than the other two new tests from #104603, both of which used to segfault.
* gh-104640: Disallow walrus in comprehension within type scopes (#104641)Jelle Zijlstra2023-05-192-4/+34
|
* gh-103921: Rename "type" header in argparse docs (#104654)Jelle Zijlstra2023-05-191-15/+15
| | | | | This allows :keyword:`type` to link to docs for the new `type` statement (being written in gh-104642) instead of to this header in the argparse docs.
* Improve readability of `typing._ProtocolMeta.__instancecheck__` (#104649)Alex Waygood2023-05-191-13/+14
|
* gh-96522: Fix deadlock in pty.spawn (#96639)Youfu Zhang2023-05-194-22/+56
|
* GH-102818: Do not call `PyTraceBack_Here` in sys.settrace trampoline. ↵Mark Shannon2023-05-194-4/+89
| | | | (GH-104579)
* GH-103545: Add macOS specific constants for ``os.setpriority`` to ``os`` ↵Ronald Oussoren2023-05-193-0/+24
| | | | | | | | | (#104606) This adds a number of PRIO_DARWIN_* constants to the os module for use with os.setpriority. --------- Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-104623: Update macOS installer to SQLite 3.42.0 (GH-104624)Erlend E. Aasland2023-05-192-3/+4
|
* gh-104619: never leak comprehension locals to outer locals() (#104637)Carl Meyer2023-05-192-21/+32
|
* gh-104602: ensure all cellvars are known up front (#104603)Carl Meyer2023-05-194-22/+50
| | | Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-104600: Make function.__type_params__ writable (#104601)Jelle Zijlstra2023-05-186-5/+39
|
* gh-74690: Don't set special protocol attributes on non-protocol subclasses ↵Alex Waygood2023-05-182-6/+22
| | | | | of protocols (#104622) Don't set special protocol attributes on non-protocol subclasses of protocols
* gh-104623: Update Windows installer to use SQLite 3.42.0 (#104625)Erlend E. Aasland2023-05-184-3/+4
|
* gh-104050: Add more type annotations to Argument Clinic (#104628)Erlend E. Aasland2023-05-181-14/+39
| | | | | | | | | | Annotate the following: - methods of class Class - methods of class Module - methods of class PythonParser - function compute_checksum() - function parse_file() - global variable unsupported_special_methods
* gh-104629: Don't skip test_clinic if _testclinic is missing (#104630)Erlend E. Aasland2023-05-181-2/+5
| | | | Just skip the tests that depend on the _testclinic extension module; we can still run the Python tests.
* gh-104549: Set __module__ on TypeAliasType (#104550)Jelle Zijlstra2023-05-189-34/+93
|
* gh-104050: Improve some typing around `default`s and sentinel values (#104626)Alex Waygood2023-05-181-18/+23
| | | | | | | | | | | - Convert `unspecified` and `unknown` to be members of a `Sentinels` enum, rather than instances of bespoke classes. - An enum feels more idiomatic here, and works better with type checkers. - Convert some `==` and `!=` checks for these values to identity checks, which are more idiomatic with sentinels. - _Don't_ do the same for `Null`, as this needs to be a distinct type due to its usage in `clinic.py`. - Use `object` as the annotation for `default` across `clinic.py`. `default` can be literally any object, so `object` is the correct annotation here. --- Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-104146: Remove unused vars from Argument Clinic (#104627)Erlend E. Aasland2023-05-181-2/+0
| | | Remove 'in_classes' and 'so_far' from DSLParser.directive_module()
* gh-104615: don't make unsafe swaps in apply_static_swaps (#104620)Carl Meyer2023-05-1814-20/+95
|
* GH-104484: Add case_sensitive argument to `pathlib.PurePath.match()` (GH-104565)thirumurugan2023-05-185-8/+30
| | | Co-authored-by: Barney Gale <barney.gale@gmail.com>
* GH-96803: Document and test new unstable internal frame API functions ↵Mark Shannon2023-05-185-3/+98
| | | | | | (GH-104211) Weaken contract of PyUnstable_InterpreterFrame_GetCode to return PyObject*.
* GH-104580: Don't cache eval breaker in interpreter (GH-104581)Mark Shannon2023-05-186-262/+260
| | | Move eval-breaker to the front of the interpreter state.
* gh-104374: Remove access to class scopes for inlined comprehensions (#104528)Jelle Zijlstra2023-05-183-9/+125
| | | Co-authored-by: Carl Meyer <carl@oddbird.net>
* gh-103606: Improve error message from logging.config.FileConfig (GH-103628)Prince Roshan2023-05-183-6/+60
|
* gh-104499: Fix typo. (#104598)Terry Jan Reedy2023-05-181-1/+1
|
* gh-104499: IDLE - fix completions for tk aqua 8.7 (#104591)Terry Jan Reedy2023-05-183-7/+6
|