]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 years agobpo-42128: Add __match_args__ to structseq-based classes (GH-24732)
Pablo Galindo [Thu, 4 Mar 2021 00:03:44 +0000 (00:03 +0000)] 
bpo-42128: Add __match_args__ to structseq-based classes (GH-24732)

4 years agobpo-40701: tempfile mixes str and bytes in an inconsistent manner (GH-20442)
Eric L [Wed, 3 Mar 2021 20:36:22 +0000 (21:36 +0100)] 
bpo-40701: tempfile mixes str and bytes in an inconsistent manner (GH-20442)

The case of tempfile.tempdir variable being bytes is now handled consistently.
The getters return the right type and no more error of mixing str and bytes unless explicitly caused by the user.

Adds a regression test.

Expands the documentation to clarify the behavior.

Co-authored-by: Eric L <ewl+git@lavar.de>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
4 years agoAdd an attribution to the Green Tree Snakes in the AST docs (GH-24727)
Pablo Galindo [Wed, 3 Mar 2021 18:25:41 +0000 (18:25 +0000)] 
Add an attribution to the Green Tree Snakes in the AST docs (GH-24727)

4 years agobpo-43162: [Enum] update docs, renable doc tests (GH-24487)
Ethan Furman [Wed, 3 Mar 2021 17:54:30 +0000 (09:54 -0800)] 
bpo-43162: [Enum] update docs, renable doc tests (GH-24487)

* update docs, renable doc tests
* make deprecation warning active for two releases

4 years agobpo-43295: Fix error handling of datetime.strptime format string '%z' (GH-24627)
Noor Michael [Wed, 3 Mar 2021 16:58:57 +0000 (10:58 -0600)] 
bpo-43295: Fix error handling of datetime.strptime format string '%z' (GH-24627)

Previously, `datetime.strptime` would match `'z'` with the format string `'%z'` (for UTC offsets), throwing an `IndexError` by erroneously trying to parse `'z'` as a timestamp. As a special case, `'%z'` matches the string `'Z'` which is equivalent to the offset `'+00:00'`, however this behavior is not defined for lowercase `'z'`.

This change ensures a `ValueError` is thrown when encountering the original example, as follows:

```
>>> from datetime import datetime
>>> datetime.strptime('z', '%z')
ValueError: time data 'z' does not match format '%z'
```

Automerge-Triggered-By: GH:pganssle
4 years agobpo-43368: Fix fetching empty bytes in sqlite3 (GH-24706)
Mariusz Felisiak [Wed, 3 Mar 2021 14:16:24 +0000 (15:16 +0100)] 
bpo-43368: Fix fetching empty bytes in sqlite3 (GH-24706)

Regression introduced in 47feb1feb28631b6647699b7633109aa85340966.

4 years agomissing multiply symbol in the documentation (GH-24686)
Alperen Serkan Aksöz [Wed, 3 Mar 2021 13:59:52 +0000 (16:59 +0300)] 
missing multiply symbol in the documentation (GH-24686)

4 years agoDoc: typo fix. (GH-24721)
Julien Palard [Wed, 3 Mar 2021 10:32:12 +0000 (11:32 +0100)] 
Doc: typo fix. (GH-24721)

4 years agoPin test runner to Ubuntu 18 to un-break CI (#24715)
Brandt Bucher [Wed, 3 Mar 2021 07:03:55 +0000 (23:03 -0800)] 
Pin test runner to Ubuntu 18 to un-break CI (#24715)

4 years agoReorder contents of 3.10's What's New (#24687)
Ken Jin [Wed, 3 Mar 2021 00:52:03 +0000 (08:52 +0800)] 
Reorder contents of 3.10's What's New (#24687)

4 years agobpo-42994: Add MIME types for opus, AAC, 3gpp and 3gpp2 (#24287)
Nathan Beals [Wed, 3 Mar 2021 00:20:18 +0000 (19:20 -0500)] 
bpo-42994: Add MIME types for opus, AAC, 3gpp and 3gpp2 (#24287)

Co-authored-by: Nathan Beals <ndbeals@users.noreply.github.com>
4 years agobpo-42782: Fail fast for permission errors in shutil.move() (GH-24001)
Winson Luk [Tue, 2 Mar 2021 20:53:15 +0000 (15:53 -0500)] 
bpo-42782: Fail fast for permission errors in shutil.move() (GH-24001)

* Fail fast in shutil.move() to avoid creating destination directories on failure.

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
4 years agobpo-43049: Use io.IncrementalNewlineDecoder for doctest newline conversion (GH-24359)
Peter Donis [Tue, 2 Mar 2021 17:06:20 +0000 (12:06 -0500)] 
bpo-43049: Use io.IncrementalNewlineDecoder for doctest newline conversion (GH-24359)

Followup to bpo-1812 and GH-17385.

4 years agobpo-43358: Fix bad free in assemble function (GH-24697)
Alex Henrie [Tue, 2 Mar 2021 10:20:25 +0000 (03:20 -0700)] 
bpo-43358: Fix bad free in assemble function (GH-24697)

4 years agobpo-39523: Use do-while loop pysqlite_cursor_executescript() (GH-18305)
Alex Henrie [Tue, 2 Mar 2021 07:40:34 +0000 (00:40 -0700)] 
bpo-39523: Use do-while loop pysqlite_cursor_executescript() (GH-18305)

4 years agobpo-41282: distutils: Fix stacklevel for DeprecationWarning (GH-24657)
Inada Naoki [Tue, 2 Mar 2021 02:49:10 +0000 (11:49 +0900)] 
bpo-41282: distutils: Fix stacklevel for DeprecationWarning (GH-24657)

DeprecationWarning is emit for `import distutils`, not for `distutils` itself.

4 years agoDoc: Improve library/json document. (GH-24390)
Adorilson Bezerra [Tue, 2 Mar 2021 01:51:58 +0000 (22:51 -0300)] 
Doc: Improve library/json document. (GH-24390)

4 years agobpo-42840: Document providing kwargs to type. (#24173)
Erik Soma [Mon, 1 Mar 2021 23:21:04 +0000 (18:21 -0500)] 
bpo-42840: Document providing kwargs to type. (#24173)

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
4 years agoFixed linenumber missing when audit hook has an error (GH-24692)
Jules Lasne [Mon, 1 Mar 2021 21:59:58 +0000 (22:59 +0100)] 
Fixed linenumber missing when audit hook has an error (GH-24692)

See https://github.com/sphinx-doc/sphinx/issues/8932

Co-authored-by: tk0miya <i.tkomiya@gmail.com>
4 years agoPost 3.10.0a6
Pablo Galindo [Mon, 1 Mar 2021 19:42:28 +0000 (19:42 +0000)] 
Post 3.10.0a6

4 years agoMerge tag 'v3.10.0a6'
Pablo Galindo [Mon, 1 Mar 2021 19:41:45 +0000 (19:41 +0000)] 
Merge tag 'v3.10.0a6'

Python 3.10.0a6

4 years agoFix grammar in enum documentation. (GH-24689)
Mariatta Wijaya [Mon, 1 Mar 2021 18:56:03 +0000 (10:56 -0800)] 
Fix grammar in enum documentation. (GH-24689)

There is an extra `s` in the singular word `method`.
Reported in docs mailing list by Steven Nguyen.

Automerge-Triggered-By: GH:Mariatta
4 years agoRemove unused suspicious rule in the docs v3.10.0a6
Pablo Galindo [Mon, 1 Mar 2021 16:47:53 +0000 (16:47 +0000)] 
Remove unused suspicious rule in the docs

4 years agoPython 3.10.0a6
Pablo Galindo [Mon, 1 Mar 2021 16:45:40 +0000 (16:45 +0000)] 
Python 3.10.0a6

4 years agoFix typo in Mac/README.rst (#24682)
Ikko Ashimine [Mon, 1 Mar 2021 16:11:23 +0000 (01:11 +0900)] 
Fix typo in Mac/README.rst (#24682)

targetting -> targeting

4 years agocloses bpo-43349: Fix tuning(7) manpage hyperlink. (GH-24680)
Erlend Egeberg Aasland [Mon, 1 Mar 2021 14:44:46 +0000 (15:44 +0100)] 
closes bpo-43349: Fix tuning(7) manpage hyperlink. (GH-24680)

4 years agobpo-11717: fix ssize_t redefinition error when targeting 32bit Windows app (GH-24479)
Jozef Grajciar [Mon, 1 Mar 2021 11:18:33 +0000 (12:18 +0100)] 
bpo-11717: fix ssize_t redefinition error when targeting 32bit Windows app (GH-24479)

4 years agobpo-41837: Update macOS installer build to use OpenSSL 1.1.1j. (GH-24677)
Ned Deily [Mon, 1 Mar 2021 07:39:08 +0000 (02:39 -0500)] 
bpo-41837: Update macOS installer build to use OpenSSL 1.1.1j. (GH-24677)

4 years agobpo-43103: Fix build failure with macOS framework builds. (GH-24676)
Ned Deily [Mon, 1 Mar 2021 07:04:02 +0000 (02:04 -0500)] 
bpo-43103: Fix build failure with macOS framework builds. (GH-24676)

4 years agobpo-42603: Add whatsnew and ACKS entries. (GH-24675)
Ned Deily [Mon, 1 Mar 2021 05:27:20 +0000 (00:27 -0500)] 
bpo-42603: Add whatsnew and ACKS entries. (GH-24675)

4 years agobpo-42128: Add documentation for pattern matching (PEP 634) (#24664)
Daniel F Moisset [Mon, 1 Mar 2021 04:08:38 +0000 (04:08 +0000)] 
bpo-42128: Add documentation for pattern matching (PEP 634) (#24664)

This is a first edition, ready to go out with the implementation. We'll iterate during the rest of the period leading up to 3.10.0.

Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
Co-authored-by: Fidget-Spinner <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Brandt Bucher <brandt@python.org>
Co-authored-by: Raymond Hettinger <1623689+rhettinger@users.noreply.github.com>
Co-authored-by: Guido van Rossum <guido@python.org>
4 years agobpo-42603: Use pkg-config to get TCL/TK paths for tkinter. (GH-23721)
Manolis Stamatogiannakis [Mon, 1 Mar 2021 03:29:57 +0000 (04:29 +0100)] 
bpo-42603: Use pkg-config to get TCL/TK paths for tkinter. (GH-23721)

4 years agobpo-42128: Add documentation for the new match-based AST nodes (GH-24673)
Pablo Galindo [Mon, 1 Mar 2021 02:08:37 +0000 (02:08 +0000)] 
bpo-42128: Add documentation for the new match-based AST nodes (GH-24673)

* bpo-42128: Add documentation for the new match-based AST nodes

* Update Doc/library/ast.rst

Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
* Fix trailing whitespace

Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
4 years agoGH-42128: Add Pattern Matching to What's New (#24667)
Carol Willing [Sun, 28 Feb 2021 23:43:17 +0000 (15:43 -0800)] 
GH-42128: Add Pattern Matching to What's New (#24667)

* Add Pattern Matching to What's New

* add review suggestions

* fix stray indent

* Add suggestions from gvr and lr

* trim whitespace

4 years agobpo-29753: fix merging packed bitfields in ctypes struct/union (GH-19850)
Filipe Laíns [Sun, 28 Feb 2021 22:43:19 +0000 (22:43 +0000)] 
bpo-29753: fix merging packed bitfields in ctypes struct/union (GH-19850)

From the commit message:

> When the structure is packed we should always expand when needed,
> otherwise we will add some padding between the fields. This patch makes
> sure we always merge bitfields together. It also changes the field merging
> algorithm so that it handles bitfields correctly.

Automerge-Triggered-By: GH:jaraco
4 years agobpo-37146: Deactivate opcode cache only when using huntrleaks in the test suite ...
Pablo Galindo [Sun, 28 Feb 2021 22:41:09 +0000 (22:41 +0000)] 
bpo-37146: Deactivate opcode cache only when using huntrleaks in the test suite (GH-24643)

4 years agoAdd whatsnew note for GH-22904 (#24672)
Dennis Sweeney [Sun, 28 Feb 2021 21:32:04 +0000 (16:32 -0500)] 
Add whatsnew note for GH-22904 (#24672)

4 years agobpo-41972: Use the two-way algorithm for string searching (GH-22904)
Dennis Sweeney [Sun, 28 Feb 2021 18:20:50 +0000 (13:20 -0500)] 
bpo-41972: Use the two-way algorithm for string searching (GH-22904)

Implement an enhanced variant of Crochemore and Perrin's Two-Way string searching algorithm, which reduces worst-case time from quadratic (the product of the string and pattern lengths) to linear. This applies to forward searches (like``find``, ``index``, ``replace``); the algorithm for reverse searches (like ``rfind``) is not changed.

Co-authored-by: Tim Peters <tim.peters@gmail.com>
4 years agobpo-43251: sqlite3_column_name() failures now raise MemoryError (GH-24609)
Erlend Egeberg Aasland [Sun, 28 Feb 2021 17:01:06 +0000 (18:01 +0100)] 
bpo-43251: sqlite3_column_name() failures now raise MemoryError (GH-24609)

4 years agobpo-43345: Enhance TypedDict documentation. (#24668)
Paul Bryan [Sun, 28 Feb 2021 07:02:14 +0000 (23:02 -0800)] 
bpo-43345: Enhance TypedDict documentation. (#24668)

4 years agobpo-43335: Update macro to check gcc version (GH-24662)
Dong-hee Na [Sun, 28 Feb 2021 00:16:24 +0000 (09:16 +0900)] 
bpo-43335: Update macro to check gcc version (GH-24662)

4 years agobpo-43321: Fix SystemError in getargs.c (GH-24656)
Inada Naoki [Sat, 27 Feb 2021 11:31:03 +0000 (20:31 +0900)] 
bpo-43321: Fix SystemError in getargs.c (GH-24656)

4 years agobpo-42128: Structural Pattern Matching (PEP 634) (GH-22917)
Brandt Bucher [Fri, 26 Feb 2021 22:51:55 +0000 (14:51 -0800)] 
bpo-42128: Structural Pattern Matching (PEP 634) (GH-22917)

Co-authored-by: Guido van Rossum <guido@python.org>
Co-authored-by: Talin <viridia@gmail.com>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
4 years agobpo-38302: __pow__/__rpow__ now called when __ipow__ returns NotImplemented (#16459)
Alex [Fri, 26 Feb 2021 19:58:39 +0000 (21:58 +0200)] 
bpo-38302: __pow__/__rpow__ now called when __ipow__ returns NotImplemented (#16459)

4 years agobpo-43294: Remove unused variables in pysqlite_connection_*() (GH-24658)
Erlend Egeberg Aasland [Fri, 26 Feb 2021 14:30:22 +0000 (15:30 +0100)] 
bpo-43294: Remove unused variables in pysqlite_connection_*() (GH-24658)

4 years agobpo-43317: Use io.DEFAULT_BUFFER_SIZE instead of 1024 in gzip CLI (#24645)
Ruben Vorderman [Fri, 26 Feb 2021 12:17:51 +0000 (13:17 +0100)] 
bpo-43317: Use io.DEFAULT_BUFFER_SIZE instead of 1024 in gzip CLI (#24645)

This improves the performance slightly.

4 years agoUpdate logging.config.rst (GH-24630)
takahashi [Fri, 26 Feb 2021 10:30:05 +0000 (19:30 +0900)] 
Update logging.config.rst (GH-24630)

# a typo fix

Automerge-Triggered-By: GH:vsajip
4 years agocloses bpo-43278: remove unnecessary leading '\n' from COMPILER when build with GCC...
Joseph Shen [Fri, 26 Feb 2021 04:24:21 +0000 (12:24 +0800)] 
closes bpo-43278: remove unnecessary leading '\n' from COMPILER when build with GCC/Clang (GH-24606)

Automerge-Triggered-By: GH:benjaminp
4 years agobpo-43144: Mark unicodedata's test_normalization as requiring network (GH-24650)
Ammar Askar [Fri, 26 Feb 2021 03:24:32 +0000 (22:24 -0500)] 
bpo-43144: Mark unicodedata's test_normalization as requiring network (GH-24650)

Co-authored-by: Arkadiusz Miśkiewicz <arekm@maven.pl>
4 years agobpo-43316: gzip: Fix sys.exit() usage. (GH-24652)
Inada Naoki [Fri, 26 Feb 2021 02:09:06 +0000 (11:09 +0900)] 
bpo-43316: gzip: Fix sys.exit() usage. (GH-24652)

4 years agobpo-43314: Remove SQLITE_OPEN_URI ifdef (GH-24637)
Erlend Egeberg Aasland [Fri, 26 Feb 2021 00:48:19 +0000 (01:48 +0100)] 
bpo-43314: Remove SQLITE_OPEN_URI ifdef (GH-24637)

SQLite 3.7.15 is required as by GH-24106. SQLITE_OPEN_URI was added in
SQLite 3.7.7.

4 years agobpo-43290: Remove workaround from pysqlite_step() (GH-24638)
Erlend Egeberg Aasland [Thu, 25 Feb 2021 23:39:34 +0000 (00:39 +0100)] 
bpo-43290: Remove workaround from pysqlite_step() (GH-24638)

From the SQLite 3.5.3 changelog:

sqlite3_step() returns SQLITE_MISUSE instead of crashing when called
with a NULL parameter.

The workaround no longer needed because we no longer support
SQLite releases older than 3.7.15.

4 years agobpo-43316: gzip: CLI uses non-zero return code on error. (GH-24647)
Ruben Vorderman [Thu, 25 Feb 2021 11:30:24 +0000 (12:30 +0100)] 
bpo-43316:  gzip: CLI uses non-zero return code on error. (GH-24647)

Exit code is now 1 instead of 0. A message is printed to stderr instead of stdout. This is
the proper behaviour for a tool that can be used in scripts.

4 years agoRemove comment about a private email.headerregistry (GH-24233)
Florian Bruhin [Wed, 24 Feb 2021 21:21:32 +0000 (22:21 +0100)] 
Remove comment about a private email.headerregistry (GH-24233)

It's been public since 2012: ea9766897bf1d2ccf610ff9ce805acca7c4cce6f

4 years agobpo-43293: Doc: move note about GIL to top of threading module (GH-24622)
Guanzhong Chen [Wed, 24 Feb 2021 18:39:38 +0000 (13:39 -0500)] 
bpo-43293: Doc: move note about GIL to top of threading module (GH-24622)

The note about the GIL was buried pretty deep in the threading documentation,
and this made it hard for first time users to discover why their attempts
at using threading to parallelizing their application did not work.

In this commit, the note is moved to the top of the module documention for
visibility.

4 years agobpo-42151: don't set specified_attributes=1 in pure Python ElementTree (GH-22987)
Felix C. Stegerman [Wed, 24 Feb 2021 02:25:31 +0000 (03:25 +0100)] 
bpo-42151: don't set specified_attributes=1 in pure Python ElementTree (GH-22987)

4 years agobpo-41841: Revise header (GH-24633)
Terry Jan Reedy [Wed, 24 Feb 2021 02:24:33 +0000 (21:24 -0500)] 
bpo-41841: Revise header (GH-24633)

4 years agobpo-43283: Add IDLE doc paragraph about print speed (GH-24615)
Terry Jan Reedy [Wed, 24 Feb 2021 00:39:51 +0000 (19:39 -0500)] 
bpo-43283: Add IDLE doc paragraph about print speed (GH-24615)

Printing to IDLE's Shell is often slower than printing to a system
terminal, but it can be made faster by pre-formatting a single
string before printing.

4 years agobpo-43146: fix None-handling in single-arg traceback.print_exception(None) (GH-24629)
Irit Katriel [Tue, 23 Feb 2021 17:43:04 +0000 (17:43 +0000)] 
bpo-43146: fix None-handling in single-arg traceback.print_exception(None) (GH-24629)

(The previous commit fixed print_exception(None, None, None).)

4 years agobpo-43146: fix regression in traceback.print_exception(None) (GH-24463)
Irit Katriel [Tue, 23 Feb 2021 14:58:47 +0000 (14:58 +0000)] 
bpo-43146: fix regression in traceback.print_exception(None) (GH-24463)

4 years agobpo-43239: Export PyCFunction_New with PyAPI_FUNC (GH-24551)
Petr Viktorin [Tue, 23 Feb 2021 12:23:56 +0000 (13:23 +0100)] 
bpo-43239: Export PyCFunction_New with PyAPI_FUNC (GH-24551)

4 years agobpo-36346: Document removal schedule of deprecate APIs (GH-20879)
Inada Naoki [Mon, 22 Feb 2021 23:06:51 +0000 (08:06 +0900)] 
bpo-36346: Document removal schedule of deprecate APIs (GH-20879)

We will remove wstr cache in Python 3.12. See PEP 623.

4 years agobpo-36346: Emit DeprecationWarning for PyArg_Parse() with 'u' or 'Z'. (GH-20927)
Inada Naoki [Mon, 22 Feb 2021 13:11:48 +0000 (22:11 +0900)] 
bpo-36346: Emit DeprecationWarning for PyArg_Parse() with 'u' or 'Z'. (GH-20927)

Emit DeprecationWarning when PyArg_Parse*() is called with 'u', 'Z' format.

See PEP 623.

4 years agobpo-23882: Doc: Clarify unittest discovery document (GH-21560)
Inada Naoki [Mon, 22 Feb 2021 06:14:26 +0000 (15:14 +0900)] 
bpo-23882: Doc: Clarify unittest discovery document (GH-21560)

Unittest discovery support namespace package as start
directory. But it doesn't find namespace package in
the start directory automatically.

Otherwise, unittest discovery search into unexpected
directories like `vendor/` or `node_modules/`.

4 years agobpo-42808: Add PyType_Type.tp_vectorcall for type(obj) performance (GH-24058)
Dennis Sweeney [Mon, 22 Feb 2021 02:59:16 +0000 (21:59 -0500)] 
bpo-42808: Add PyType_Type.tp_vectorcall for type(obj) performance (GH-24058)

4 years agobpo-43260: io: Prevent large data remains in textio buffer. (GH-24592)
Inada Naoki [Sun, 21 Feb 2021 23:29:30 +0000 (08:29 +0900)] 
bpo-43260: io: Prevent large data remains in textio buffer. (GH-24592)

When very large data remains in TextIOWrapper, flush() may fail forever.

So prevent that data larger than chunk_size is remained in TextIOWrapper internal
buffer.

Co-Authored-By: Eryk Sun
4 years agoFix failed merge of bpo-43288. (GH-24614)
Neil Schemenauer [Sun, 21 Feb 2021 22:22:14 +0000 (14:22 -0800)] 
Fix failed merge of bpo-43288. (GH-24614)

4 years agobpo-43288: Fix bug in test_importlib test. (GH-24612)
Neil Schemenauer [Sun, 21 Feb 2021 21:48:18 +0000 (13:48 -0800)] 
bpo-43288: Fix bug in test_importlib test. (GH-24612)

4 years agobpo-42093: Cleanup _PyDict_GetItemHint() (GH-24582)
Victor Stinner [Sun, 21 Feb 2021 11:02:04 +0000 (12:02 +0100)] 
bpo-42093: Cleanup _PyDict_GetItemHint() (GH-24582)

* No longer save/restore the current exception. It is no longer used
  with an exception raised.
* No longer clear the current exception on error: it's now up to the
  caller.

4 years agobpo-43269: Remove redundant extern keywords (GH-24605)
Erlend Egeberg Aasland [Sun, 21 Feb 2021 10:07:49 +0000 (11:07 +0100)] 
bpo-43269: Remove redundant extern keywords (GH-24605)

4 years agobpo-43283: Rearrange some IDLE doc paragraphs. (GH-24604)
Terry Jan Reedy [Sun, 21 Feb 2021 07:44:11 +0000 (02:44 -0500)] 
bpo-43283: Rearrange some IDLE doc paragraphs. (GH-24604)

In the Running User Code section, gather together paragraphs about two
processes and the sys.stdstream replacements, preparing to add another.

4 years agobpo-27646: Say that 'yield from' expression can be any iterable (GH-24595)
Terry Jan Reedy [Sun, 21 Feb 2021 02:33:25 +0000 (21:33 -0500)] 
bpo-27646: Say that 'yield from' expression can be any iterable (GH-24595)

Previously, the doc at least strongly implied that it had to be an iterator.

4 years agobpo-43269: Clean up sqlite3 file scope (GH-24578)
Erlend Egeberg Aasland [Sun, 21 Feb 2021 00:29:19 +0000 (01:29 +0100)] 
bpo-43269: Clean up sqlite3 file scope (GH-24578)

4 years agobpo-43277: Add PySet_CheckExact to the C-API (GH-24598)
Pablo Galindo [Sat, 20 Feb 2021 18:03:08 +0000 (18:03 +0000)] 
bpo-43277: Add PySet_CheckExact to the C-API (GH-24598)

For some mysterious reason we have PySet_Check, PyFrozenSet_Check, PyAnySet_Check, PyAnySet_CheckExact and PyFrozenSet_CheckExact but no PySet_CheckExact.

4 years agobpo-42990: Functions inherit current builtins (GH-24564)
Victor Stinner [Sat, 20 Feb 2021 14:17:18 +0000 (15:17 +0100)] 
bpo-42990: Functions inherit current builtins (GH-24564)

The types.FunctionType constructor now inherits the current builtins
if the globals dictionary has no "__builtins__" key, rather than
using {"None": None} as builtins: same behavior as eval() and exec()
functions.

Defining a function with "def function(...): ..." in Python is not
affected, globals cannot be overriden with this syntax: it also
inherits the current builtins.

PyFrame_New(), PyEval_EvalCode(), PyEval_EvalCodeEx(),
PyFunction_New() and PyFunction_NewWithQualName() now inherits the
current builtins namespace if the globals dictionary has no
"__builtins__" key.

* Add _PyEval_GetBuiltins() function.
* _PyEval_BuiltinsFromGlobals() now uses _PyEval_GetBuiltins() if
  builtins cannot be found in globals.
* Add tstate parameter to _PyEval_BuiltinsFromGlobals().

4 years agoFix typo in launcher.c (GH-24497)
Ikko Ashimine [Sat, 20 Feb 2021 10:03:50 +0000 (19:03 +0900)] 
Fix typo in launcher.c (GH-24497)

4 years agoFix typo in dis module doc (GH-24509)
Irit Katriel [Sat, 20 Feb 2021 04:22:37 +0000 (04:22 +0000)] 
Fix typo in dis module doc (GH-24509)

4 years agobpo-43042: Augment tutorial sentence (GH-24514)
Terry Jan Reedy [Sat, 20 Feb 2021 00:26:21 +0000 (19:26 -0500)] 
bpo-43042: Augment tutorial sentence (GH-24514)

Calling same function also gets new local namespace.

4 years agobpo-42825: Enable /OPT:REF (GH-24098)
Austin Lamb [Fri, 19 Feb 2021 23:27:01 +0000 (15:27 -0800)] 
bpo-42825: Enable /OPT:REF (GH-24098)

We explicitly disable /OPT:ICF as some manual optimisations depend on some functions still having distinct pointers (such as wrap_binary_func and wrap_binary_func_l).

4 years agocloses bpo-43266: Improve array formatting. (GH-24573)
Erlend Egeberg Aasland [Fri, 19 Feb 2021 15:32:31 +0000 (16:32 +0100)] 
closes bpo-43266: Improve array formatting. (GH-24573)

4 years agobpo-35134: Move non-limited C API files to Include/cpython/ (GH-24561)
Nicholas Sim [Fri, 19 Feb 2021 14:55:46 +0000 (22:55 +0800)] 
bpo-35134: Move non-limited C API files to Include/cpython/ (GH-24561)

Include/{odictobject.h,parser_interface.h,picklebufobject.h,pydebug.h,pyfpe.h}
into Include/cpython/.

Parser: peg_api: include Python.h instead of parser_interface.h.

4 years agobpo-43268: local_clear() uses _PyInterpreterState_GET() (GH-24583)
Victor Stinner [Fri, 19 Feb 2021 14:51:36 +0000 (15:51 +0100)] 
bpo-43268: local_clear() uses _PyInterpreterState_GET() (GH-24583)

Cleanup also the code.

4 years agobpo-43268: Pass interp rather than tstate to internal functions (GH-24580)
Victor Stinner [Fri, 19 Feb 2021 14:10:45 +0000 (15:10 +0100)] 
bpo-43268: Pass interp rather than tstate to internal functions (GH-24580)

Pass the current interpreter (interp) rather than the current Python
thread state (tstate) to internal functions which only use the
interpreter.

Modified functions:

* _PyXXX_Fini() and _PyXXX_ClearFreeList() functions
* _PyEval_SignalAsyncExc(), make_pending_calls()
* _PySys_GetObject(), sys_set_object(), sys_set_object_id(), sys_set_object_str()
* should_audit(), set_flags_from_config(), make_flags()
* _PyAtExit_Call()
* init_stdio_encoding()
* etc.

4 years agobpo-43270: Remove private _PyErr_OCCURRED() macro (GH-24579)
Victor Stinner [Fri, 19 Feb 2021 14:08:54 +0000 (15:08 +0100)] 
bpo-43270: Remove private _PyErr_OCCURRED() macro (GH-24579)

Remove the private _PyErr_OCCURRED() macro: use the public
PyErr_Occurred() function instead.

CPython internals must use the internal _PyErr_Occurred(tstate)
function instead: it is the most efficient way to check if an
exception was raised.

4 years agobpo-43268: Remove abusive usage of tstate in sysmodule.c (#24581)
Victor Stinner [Fri, 19 Feb 2021 14:07:59 +0000 (15:07 +0100)] 
bpo-43268: Remove abusive usage of tstate in sysmodule.c (#24581)

Remove explicit tstate usage in sysmodule.c when it's only used raise
exceptions: get it implicitly using PyErr_XXX() functions.

4 years agobpo-43268: _Py_IsMainInterpreter() now expects interp (GH-24577)
Victor Stinner [Fri, 19 Feb 2021 12:33:31 +0000 (13:33 +0100)] 
bpo-43268: _Py_IsMainInterpreter() now expects interp (GH-24577)

The _Py_IsMainInterpreter() function now expects interp rather than
tstate.

4 years agobpo-40522: Replace PyThreadState_GET() with PyThreadState_Get() (GH-24575)
Victor Stinner [Fri, 19 Feb 2021 12:21:51 +0000 (13:21 +0100)] 
bpo-40522: Replace PyThreadState_GET() with PyThreadState_Get() (GH-24575)

Use directly the PyThreadState_Get() function in public header files,
since PyThreadState_GET() macro is just an alias to it in pratice in
these files.

4 years agobpo-43268: Replace _PyThreadState_GET() with _PyInterpreterState_GET() (GH-24576)
Victor Stinner [Fri, 19 Feb 2021 12:21:28 +0000 (13:21 +0100)] 
bpo-43268: Replace _PyThreadState_GET() with _PyInterpreterState_GET() (GH-24576)

Replace _PyThreadState_GET() with _PyInterpreterState_GET() in
functions which only need the current interpreter, but don't need the
current Python thread state.

Replace also _PyThreadState_UncheckedGet() with _PyThreadState_GET()
in faulthandler.c, since _PyThreadState_UncheckedGet() is just an
alias to _PyThreadState_GET() in practice.

4 years agobpo-43258: Make sqlite3 callback functions static (GH-24574)
Erlend Egeberg Aasland [Fri, 19 Feb 2021 11:59:24 +0000 (12:59 +0100)] 
bpo-43258: Make sqlite3 callback functions static (GH-24574)

4 years agobpo-43258: Don't allocate sqlite3 aggregate context for empty queries (GH-24569)
Erlend Egeberg Aasland [Fri, 19 Feb 2021 11:20:32 +0000 (12:20 +0100)] 
bpo-43258: Don't allocate sqlite3 aggregate context for empty queries (GH-24569)

4 years agocloses bpo-43254: Fix *snprintf() man page refs. (GH-24563)
Erlend Egeberg Aasland [Fri, 19 Feb 2021 01:53:33 +0000 (02:53 +0100)] 
closes bpo-43254: Fix *snprintf() man page refs. (GH-24563)

4 years agobpo-39448: Add regen-frozen makefile target. (GH-18174)
Neil Schemenauer [Fri, 19 Feb 2021 00:49:12 +0000 (16:49 -0800)] 
bpo-39448: Add regen-frozen makefile target. (GH-18174)

Add the "regen-frozen" makefile target that regenerates the code for the
frozen __hello__ module.

4 years agoRemove all links to mingw.org (GH-24552)
Jeremy Paige [Thu, 18 Feb 2021 19:43:35 +0000 (11:43 -0800)] 
Remove all links to mingw.org (GH-24552)

This lease on this domain has lapsed. This not only makes these dead links, but a potential attack vector for readers of python.org as the domain can be obtained by an untrustworthy party.

I considered redirecting these links to http://mingw-w64.org/ which is a maintained fork of mingw, but beyond my unfamiliarity with the exact level of compatibility, at the time of this PR that site had an expired cert and so is not much of a vulnerability fix.

Automerge-Triggered-By: GH:Mariatta
4 years agobpo-42990: Refactor _PyFrame_New_NoTrack() (GH-24566)
Victor Stinner [Thu, 18 Feb 2021 18:20:16 +0000 (19:20 +0100)] 
bpo-42990: Refactor _PyFrame_New_NoTrack() (GH-24566)

* Refactor _PyFrame_New_NoTrack() and PyFunction_NewWithQualName()
  code.
* PyFrame_New() checks for _PyEval_BuiltinsFromGlobals() failure.
* Fix a ref leak in _PyEval_BuiltinsFromGlobals() error path.
* Complete PyFunction_GetModule() documentation: it returns a
  borrowed reference and it can return NULL.
* Move _PyEval_BuiltinsFromGlobals() definition to the internal C
  API.
* PyFunction_NewWithQualName() uses _Py_IDENTIFIER() API for the
  "__name__" string to make it compatible with subinterpreters.

4 years agobpo-43249: Improve scoping in _pysqlite_fetch_one_row() (GH-24565)
Erlend Egeberg Aasland [Thu, 18 Feb 2021 17:13:14 +0000 (18:13 +0100)] 
bpo-43249: Improve scoping in _pysqlite_fetch_one_row() (GH-24565)

4 years agobpo-43249: sqlite3_column_bytes() must follow sqlite_column_blob() (GH-24562)
Erlend Egeberg Aasland [Thu, 18 Feb 2021 15:44:43 +0000 (16:44 +0100)] 
bpo-43249: sqlite3_column_bytes() must follow sqlite_column_blob() (GH-24562)

4 years agobpo-42960: Add resource.RLIMIT_KQUEUES constant from FreeBSD (GH-24251)
David CARLIER [Thu, 18 Feb 2021 15:26:20 +0000 (15:26 +0000)] 
bpo-42960: Add resource.RLIMIT_KQUEUES constant from FreeBSD (GH-24251)

4 years agobpo-42990: Add __builtins__ attribute to functions (GH-24559)
Victor Stinner [Thu, 18 Feb 2021 11:35:37 +0000 (12:35 +0100)] 
bpo-42990: Add __builtins__ attribute to functions (GH-24559)

Expose the new PyFunctionObject.func_builtins member in Python as a
new __builtins__ attribute on functions.

Document also the behavior change in What's New in Python 3.10.

4 years agobpo-35134: Move Include/{pyarena.h,pyctype.h} to Include/cpython/ (GH-24550)
Nicholas Sim [Wed, 17 Feb 2021 18:30:31 +0000 (02:30 +0800)] 
bpo-35134: Move Include/{pyarena.h,pyctype.h} to Include/cpython/ (GH-24550)

Move non-limited C API headers pyarena.h and pyctype.h
into Include/cpython/ directory.

4 years ago bpo-40170: Move 3 NEWS entries to the C API section (GH-24555)
Erlend Egeberg Aasland [Wed, 17 Feb 2021 18:15:39 +0000 (19:15 +0100)] 
 bpo-40170: Move 3 NEWS entries to the C API section (GH-24555)