]> granicus.if.org Git - python/log
python
6 years ago[3.7] bpo-29673: fix gdb scripts pystack and pystackv (GH-6126) (GH-6399)
Miss Islington (bot) [Fri, 6 Apr 2018 22:14:29 +0000 (15:14 -0700)]
[3.7] bpo-29673: fix gdb scripts pystack and pystackv (GH-6126) (GH-6399)

(cherry picked from commit 3a9ccee0e5dbf7d67f5ab79f6095755969db117c)

Co-authored-by: Marcel Plch <gmarcel.plch@gmail.com>
6 years agofixed capitalization of class name (GH-6396) (GH-6397)
Miss Islington (bot) [Fri, 6 Apr 2018 12:46:05 +0000 (05:46 -0700)]
fixed capitalization of class name (GH-6396) (GH-6397)

(cherry picked from commit 1d87c7b80bf74a3030034a022a7a54ea4e3cdaff)

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
6 years agobpo-33231: Fix potential leak in normalizestring() (GH-6386)
Miss Islington (bot) [Fri, 6 Apr 2018 07:12:38 +0000 (00:12 -0700)]
bpo-33231: Fix potential leak in normalizestring() (GH-6386)

(cherry picked from commit 0c1c4563a65ac451021d927058e4f25013934eb2)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
6 years agobpo-33224: PEP 479 fix for difflib.mdiff() (GH-6381) (GH-6390)
Miss Islington (bot) [Thu, 5 Apr 2018 18:45:33 +0000 (11:45 -0700)]
bpo-33224: PEP 479 fix for difflib.mdiff() (GH-6381) (GH-6390)

6 years agobpo-33203: Ensure random.choice always raises IndexError on empty sequence (GH-6338...
Miss Islington (bot) [Thu, 5 Apr 2018 16:02:12 +0000 (09:02 -0700)]
bpo-33203: Ensure random.choice always raises IndexError on empty sequence (GH-6338) (GH-6387)

(cherry picked from commit 091e95e9004b794280ab35becec2c3e30dd5e96e)

Co-authored-by: Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de>
6 years agoClean up and enhance frozen dataclass tests. (GH-6380)
Miss Islington (bot) [Thu, 5 Apr 2018 11:12:31 +0000 (04:12 -0700)]
Clean up and enhance frozen dataclass tests. (GH-6380)

* Add a test for frozen with unhashable field value.
* Improve a comment.
(cherry picked from commit 74940913d26d9f94b8572eca794369841fa6d9b6)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agobpo-32873: Remove a name hack for generic aliases in typing module (GH-6376)
Miss Islington (bot) [Thu, 5 Apr 2018 00:46:40 +0000 (17:46 -0700)]
bpo-32873: Remove a name hack for generic aliases in typing module (GH-6376)

This removes a hack and replaces it with a proper
mapping {'list': 'List', 'dict': 'Dict', ...}.
(cherry picked from commit 2a363d2930e29ec6d8a774973ed5a4965f881f5f)

Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
6 years agoCall super in Generic.__init_subclass__ (GH-6356)
Miss Islington (bot) [Wed, 4 Apr 2018 16:51:34 +0000 (09:51 -0700)]
Call super in Generic.__init_subclass__ (GH-6356)

(cherry picked from commit ee566fe526f3d069aa313578ee81ca6cbc25ff52)

Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
6 years agobpo-29922: Add more tests for error messages in 'async with'. (GH-6370)
Miss Islington (bot) [Wed, 4 Apr 2018 16:28:46 +0000 (09:28 -0700)]
bpo-29922: Add more tests for error messages in 'async with'. (GH-6370)

Different paths are executed for normal exit and for leaving
the 'async with' block with 'break', 'continue' or 'return'.
(cherry picked from commit 2eeac269dd1e04a2a179384576986c3e47895ee0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years agobpo-29922: Improve error messages in 'async with' (GH-6352)
Miss Islington (bot) [Wed, 4 Apr 2018 14:09:00 +0000 (07:09 -0700)]
bpo-29922: Improve error messages in 'async with' (GH-6352)

when __aenter__() or __aexit__() return non-awaitable object.
(cherry picked from commit a68f2f0578bbf812fa2264d0e0bb388340d6e230)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years agobpo-33195: Doc: Deprecate Py_UNICODE in c-api/arg (GH-6329)
Miss Islington (bot) [Wed, 4 Apr 2018 05:13:38 +0000 (22:13 -0700)]
bpo-33195: Doc: Deprecate Py_UNICODE in c-api/arg (GH-6329)

Py_UNICODE is deprecated since Python 3.3.
But the deprecation is missed in the c-api/arg document.
(cherry picked from commit 42ec190761a2e8503aaa06f0bfaaabe98749179b)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
6 years agobpo-32337: Update documentats about dict order (GH-4973)
Miss Islington (bot) [Wed, 4 Apr 2018 05:01:46 +0000 (22:01 -0700)]
bpo-32337: Update documentats about dict order (GH-4973)

(cherry picked from commit dfbbbf16f9aab82330c634913441b5ac73267d9c)

Co-authored-by: hui shang <shangdahao@gmail.com>
6 years agobpo-33209: End framing at the end of C implementation of pickle.Pickler.dump(). ...
Miss Islington (bot) [Tue, 3 Apr 2018 21:35:11 +0000 (14:35 -0700)]
bpo-33209: End framing at the end of C implementation of pickle.Pickler.dump(). (GH-6366)

(cherry picked from commit c869529ea9fbed574d34cf7ac139ca3f81b62ef0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years agobpo-32360: Remove object_pairs_hook=OrderedDict examples (GH-5001)
Miss Islington (bot) [Tue, 3 Apr 2018 04:31:27 +0000 (21:31 -0700)]
bpo-32360: Remove object_pairs_hook=OrderedDict examples (GH-5001)

(cherry picked from commit 629338f1404ea9cd75e4fb0389a2fbe1b589de43)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
6 years agocloses bpo-33202: fix os.walk mentioning os.listdir instead of os.scandir (GH-6335)
Miss Islington (bot) [Tue, 3 Apr 2018 03:33:38 +0000 (20:33 -0700)]
closes bpo-33202: fix os.walk mentioning os.listdir instead of os.scandir (GH-6335)

(cherry picked from commit badb894bbbb8aaa8b669c4a6f675a0bc7d98e188)

Co-authored-by: Andrés Delfino <34587441+andresdelfino@users.noreply.github.com>
6 years agobpo-33199: Initialize ma_version_tag in PyDict_Copy (GH-6341)
Miss Islington (bot) [Tue, 3 Apr 2018 03:00:26 +0000 (20:00 -0700)]
bpo-33199: Initialize ma_version_tag in PyDict_Copy (GH-6341)

(cherry picked from commit d1c82c5cc7be0c21dddf86fd19c1702f6218459b)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
6 years agobpo-33204: IDLE - revise and extend colorizer test. (GH-6347)
Miss Islington (bot) [Mon, 2 Apr 2018 16:03:52 +0000 (09:03 -0700)]
bpo-33204: IDLE - revise and extend colorizer test. (GH-6347)

Followup to primary PR for the issue, GH-6344.
(cherry picked from commit 55966f3a0d5f1bf823bd22ce1abbde267b06552f)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
6 years agobpo-33204: IDLE: consistently color invalid string prefixes (GH-6344)
Miss Islington (bot) [Mon, 2 Apr 2018 06:09:18 +0000 (23:09 -0700)]
bpo-33204: IDLE: consistently color invalid string prefixes (GH-6344)

A 'u' string prefix cannot be paired with either 'r' or 'f'.  Consistently
color as much of the prefix, starting at the right, as is valid.
(cherry picked from commit da58533ac67b01ce8f6466e6f03ff6b8b3bb04d5)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
6 years agobpo-20104: Add os.posix_spawn documentation. (GH-6334)
Miss Islington (bot) [Sun, 1 Apr 2018 19:13:37 +0000 (12:13 -0700)]
bpo-20104: Add os.posix_spawn documentation. (GH-6334)

(cherry picked from commit 79760ed256987cead08d668b95675afba6b3760f)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
6 years agoAllow dynamic creation of generic dataclasses (GH-6319) (GH-6320)
Miss Islington (bot) [Sun, 1 Apr 2018 11:33:13 +0000 (04:33 -0700)]
Allow dynamic creation of generic dataclasses (GH-6319) (GH-6320)

(cherry picked from commit 5a7092de1226a95a50f0f384eea8ddb288959249)

Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
6 years agobpo-33132: Fix more reference counting issues in the compiler. (GH-6323)
Miss Islington (bot) [Sat, 31 Mar 2018 23:41:28 +0000 (16:41 -0700)]
bpo-33132: Fix more reference counting issues in the compiler. (GH-6323)

(cherry picked from commit aa8e51f5ebb2a71c76059f050de01fc3c985376a)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years agoFix socket type in DatagramHandler documentation: TCP -> UDP (GH-6272)
Miss Islington (bot) [Fri, 30 Mar 2018 07:48:45 +0000 (00:48 -0700)]
Fix socket type in DatagramHandler documentation: TCP -> UDP (GH-6272)

(cherry picked from commit 233de021d915364bd3daee921d1d96d50d46d7fe)

Co-authored-by: Mike DePalatis <mike@depalatis.net>
6 years agobpo-33182: Fix pointer types in _testembed (GH-6310) (GH-6311)
Miss Islington (bot) [Fri, 30 Mar 2018 06:24:03 +0000 (23:24 -0700)]
bpo-33182: Fix pointer types in _testembed (GH-6310) (GH-6311)

(cherry picked from commit 69f5c73311a61b05485b19626935bf240ad31c5b)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
6 years agobpo-33175: dataclasses should look up __set_name__ on class, not instance (GH-6305)
Miss Islington (bot) [Thu, 29 Mar 2018 15:32:36 +0000 (08:32 -0700)]
bpo-33175: dataclasses should look up __set_name__ on class, not instance (GH-6305)

(cherry picked from commit 521995205a2cb6b504fe0e39af22a81f785350a3)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agobump to 3.7.0b3+
Ned Deily [Thu, 29 Mar 2018 12:57:23 +0000 (08:57 -0400)]
bump to 3.7.0b3+

6 years ago3.7.0b3 v3.7.0b3
Ned Deily [Thu, 29 Mar 2018 11:57:55 +0000 (07:57 -0400)]
3.7.0b3

6 years agobpo-32726: macOS 10.6+ installer now builds Tcl/TK 8.6 (GH-6308)
Ned Deily [Thu, 29 Mar 2018 11:41:11 +0000 (07:41 -0400)]
bpo-32726: macOS 10.6+ installer now builds Tcl/TK 8.6 (GH-6308)

Build and link with private copy of Tcl/Tk 8.6 for the macOS 10.6+
installer. The 10.9+ installer variant already does this.  This means that
the Python 3.7 provided by the python.org macOS installers no longer need or
use any external versions of Tcl/Tk, either system-provided or user-
installed, such as ActiveTcl.

6 years agoFix typos '.::' should typically just be '::'. (GH-6165) (GH-6300)
Miss Islington (bot) [Thu, 29 Mar 2018 08:34:44 +0000 (01:34 -0700)]
Fix typos '.::' should typically just be '::'. (GH-6165) (GH-6300)

(cherry picked from commit 78553138be3b38d361bded8e641a2a4fd65a9d16)

Co-authored-by: Julien Palard <julien@palard.fr>
6 years agoFIX documentation and NEWS of ThreadedHTTPServer. (GH-6207) (GH-6302)
Miss Islington (bot) [Thu, 29 Mar 2018 08:33:47 +0000 (01:33 -0700)]
FIX documentation and NEWS of ThreadedHTTPServer. (GH-6207) (GH-6302)

(cherry picked from commit 79c3bab35cce55e6d175aff96a845bc6d932b203)

Co-authored-by: Julien Palard <julien@palard.fr>
6 years ago[3.7] Fix duplicating words words. (GH-6296) (GH-6297)
Serhiy Storchaka [Wed, 28 Mar 2018 20:05:24 +0000 (23:05 +0300)]
[3.7] Fix duplicating words words. (GH-6296) (GH-6297)

Most of them have been added in 3.7.
(cherry picked from commit bac2d5ba30339298db7d4caa9c8cd31d807cf081)

6 years agobpo-33126: Document PyBuffer_ToContiguous() (GH-6292) (GH-6294)
Miss Islington (bot) [Wed, 28 Mar 2018 15:50:24 +0000 (08:50 -0700)]
bpo-33126: Document PyBuffer_ToContiguous() (GH-6292) (GH-6294)

(cherry picked from commit aa50bf08e64f49d57917ab0b1aadf4308a3168a6)

Co-authored-by: Antoine Pitrou <pitrou@free.fr>
6 years agos/the the/the/ (GH-6287)
Miss Islington (bot) [Wed, 28 Mar 2018 13:23:32 +0000 (06:23 -0700)]
s/the the/the/ (GH-6287)

(cherry picked from commit 40a536be5337d3723285d597e2906394b26816a5)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
6 years ago[3.7] bpo-33163: Upgrade pip to 9.0.3 and setuptools to v39.0.1. (GH-6283)
Miss Islington (bot) [Wed, 28 Mar 2018 08:49:24 +0000 (01:49 -0700)]
[3.7] bpo-33163: Upgrade pip to 9.0.3 and setuptools to v39.0.1. (GH-6283)

(cherry picked from commit c0518cde7a8404f310cd3495e77e612820ecad4f)

Co-authored-by: Ned Deily <nad@python.org>
6 years agobpo-32726: Do not force IDLE.app to launch in 32-bit mode. (GH-6280)
Miss Islington (bot) [Wed, 28 Mar 2018 08:16:23 +0000 (01:16 -0700)]
bpo-32726: Do not force IDLE.app to launch in 32-bit mode. (GH-6280)

Forcing the macOS IDLE.app gui process to launch in 32-mode was
a necessary hack for old versions of Tk (Aqua Carbon as in Tk 8.4
and early versions of 8.5); it is not needed for current versions
of Tk.  Since 32-bit launching will no longer be supported on
future releases of macOS, allow IDLE.app to launch in 64-bit mode.
(cherry picked from commit df532ab752680f6e359672c2cd40bec8ac848628)

Co-authored-by: Ned Deily <nad@python.org>
6 years agobpo-32872: Avoid regrtest compatibility issue with namespace packages. (GH-6276)...
Miss Islington (bot) [Wed, 28 Mar 2018 06:39:19 +0000 (23:39 -0700)]
bpo-32872: Avoid regrtest compatibility issue with namespace packages. (GH-6276) (#6277)

(cherry picked from commit e52ac045972a4f75d7f52e4ee0d6de128259134d)

Co-authored-by: Ned Deily <nad@python.org>
6 years agoFix senfile typo (GH-6265) (#6274)
Miss Islington (bot) [Wed, 28 Mar 2018 01:34:15 +0000 (18:34 -0700)]
Fix senfile typo (GH-6265) (#6274)

* Also in docs
(cherry picked from commit 65a34709f60711f7c46031d4c6c420f567bc790a)

Co-authored-by: Sam Dunster <me@sdunster.com>
6 years agobpo-32517: re-enable test_read_pty_output on macOS (GH-6112)
Ned Deily [Tue, 27 Mar 2018 21:17:28 +0000 (17:17 -0400)]
bpo-32517: re-enable test_read_pty_output on macOS (GH-6112)

6 years agobpo-33151: Handle submodule resources (GH-6268) (GH-6270)
Miss Islington (bot) [Tue, 27 Mar 2018 17:25:28 +0000 (10:25 -0700)]
bpo-33151: Handle submodule resources (GH-6268) (GH-6270)

(cherry picked from commit 30e507dff465a31901d87df791a2bac40dc88530)

Co-authored-by: Barry Warsaw <barry@python.org>
6 years agobpo-27212: Modify islice recipe to consume initial values preceding start (GH-6195...
Miss Islington (bot) [Tue, 27 Mar 2018 02:23:34 +0000 (19:23 -0700)]
bpo-27212: Modify islice recipe to consume initial values preceding start (GH-6195) (#GH-6266)

(cherry picked from commit da1734c58d2f97387ccc9676074717d38b044128)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
6 years agobpo-32873: Treat type variables and special typing forms as immutable by copy and...
Miss Islington (bot) [Mon, 26 Mar 2018 22:29:06 +0000 (15:29 -0700)]
bpo-32873: Treat type variables and special typing forms as immutable by copy and pickle (GH-6216)

This also fixes python/typingGH-512
This also fixes python/typingGH-511

As was discussed in both issues, some typing forms deserve to be treated
as immutable by copy and pickle modules, so that:
* copy(X) is X
* deepcopy(X) is X
* loads(dumps(X)) is X  GH- pickled by reference

This PR adds such behaviour to:
* Type variables
* Special forms like Union, Any, ClassVar
* Unsubscripted generic aliases to containers like List, Mapping, Iterable

This not only resolves inconsistencies mentioned in the issues, but also
improves backwards compatibility with previous versions of Python
(including 3.6).

Note that this requires some dances with __module__ for type variables
(similar to NamedTuple) because the class TypeVar itself is define in typing,
while type variables should get module where they were defined.

https://bugs.python.org/issue32873
(cherry picked from commit 834940375ae88bc95794226dd8eff1f25fba1cf9)

Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
6 years agobpo-32844: Fix a subprocess misredirection of a low fd (GH5689)
Miss Islington (bot) [Mon, 26 Mar 2018 20:14:09 +0000 (13:14 -0700)]
bpo-32844: Fix a subprocess misredirection of a low fd (GH5689)

bpo-32844: subprocess: Fix a potential misredirection of a low fd to stderr.

When redirecting, subprocess attempts to achieve the following state:
each fd to be redirected to is less than or equal to the fd
it is redirected from, which is necessary because redirection
occurs in the ascending order of destination descriptors.
It fails to do so in a couple of corner cases,
for example, if 1 is redirected to 2 and 0 is closed in the parent.
(cherry picked from commit 0e7144b064a19493a146af94175a087b3888c37b)

Co-authored-by: Alexey Izbyshev <izbyshev@users.noreply.github.com>
6 years agobpo-33141: Have dataclasses.Field pass through __set_name__ to any default argument...
Miss Islington (bot) [Mon, 26 Mar 2018 17:55:13 +0000 (10:55 -0700)]
bpo-33141: Have dataclasses.Field pass through __set_name__ to any default argument. (GH-6260)

This is part of PEP 487 and the descriptor protocol.
(cherry picked from commit de7a2f04d6b9427d568fcb43b6f512f9b4c4bd84)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agoFix error message in sqlite connection thread check. (GH-6028)
Miss Islington (bot) [Mon, 26 Mar 2018 16:01:22 +0000 (09:01 -0700)]
Fix error message in sqlite connection thread check. (GH-6028)

(cherry picked from commit 030345c0bfc2f76684666fe5c61e766ba5debfe6)

Co-authored-by: Takuya Akiba <469803+iwiwi@users.noreply.github.com>
6 years agoCorrected link targets in collections.rst (GH-1052)
Miss Islington (bot) [Mon, 26 Mar 2018 12:52:35 +0000 (05:52 -0700)]
Corrected link targets in collections.rst (GH-1052)

(cherry picked from commit e105294708ffc78a31566b48468746eb4609abe7)

Co-authored-by: Michael Seifert <michaelseifert04@yahoo.de>
6 years agoFix description about SimpleXMLRPCServer constructor parameter bind_and_activate...
Miss Islington (bot) [Mon, 26 Mar 2018 12:09:23 +0000 (05:09 -0700)]
Fix description about SimpleXMLRPCServer constructor parameter bind_and_activate. (GH-776)

Passing True as the `bind_and_activate` *do* immediately opening and binding to their socket.
(cherry picked from commit e6223579c87b93f3e60d28796f521587d88091d4)

Co-authored-by: cocoatomo <cocoatomo77@gmail.com>
6 years agoGitignore gmon.out (GH-5796)
Miss Islington (bot) [Mon, 26 Mar 2018 11:26:34 +0000 (04:26 -0700)]
Gitignore gmon.out (GH-5796)

gmon.out is generated when profiling turned on

Full Configuration:
./configure --prefix=$PWD/install --enable-profiling  --enable-big-digits=30
--with-pydebug --with-assertions  --with-valgrind
(cherry picked from commit 95ad3822a2b6287772bd752b6ab493c6d4198d4b)

Co-authored-by: Neeraj Badlani <neerajbadlani@gmail.com>
6 years agoFix typo and edit for clarity in the docstrings of sys.float_info. (GH-2251)
Miss Islington (bot) [Mon, 26 Mar 2018 10:58:10 +0000 (03:58 -0700)]
Fix typo and edit for clarity in the docstrings of sys.float_info. (GH-2251)

(cherry picked from commit 0301c9bdd1ebd788d1334cf3fe06c48f35bab0dc)

Co-authored-by: Stefano Taschini <taschini@users.noreply.github.com>
6 years agobpo-33096: Fix ttk.Treeview.insert. (GH-6228)
Miss Islington (bot) [Mon, 26 Mar 2018 08:19:52 +0000 (01:19 -0700)]
bpo-33096: Fix ttk.Treeview.insert. (GH-6228)

Allow ttk.Treeview.insert to insert iid that has a false boolean value.
Note iid=0 and iid=False would be same.
(cherry picked from commit 3ab44c0783eebdff687014f7d14d5dec59b6bd39)

Co-authored-by: Garvit Khatri <garvitdelhi@gmail.com>
6 years agoMinor fixes to dataclass tests. (GH-6243)
Miss Islington (bot) [Mon, 26 Mar 2018 01:00:43 +0000 (18:00 -0700)]
Minor fixes to dataclass tests. (GH-6243)

 Also, re-enable a test for ClassVars with default_factory.
(cherry picked from commit 2b75fc2bc97702224de0fae8ab026ec0cd0706ab)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agoClarify fd inheritance when close_fds=False. (GH-6240)
Miss Islington (bot) [Sun, 25 Mar 2018 17:40:38 +0000 (10:40 -0700)]
Clarify fd inheritance when close_fds=False. (GH-6240)

Clarify the subprocess documentation.
(cherry picked from commit dfb6e54dd8dbd735f55109ad8ee9dfcb6178ede9)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
6 years agobpo-33053: -m now adds *starting* directory to sys.path (GH-6231) (#6236)
Nick Coghlan [Sun, 25 Mar 2018 13:43:50 +0000 (23:43 +1000)]
bpo-33053: -m now adds *starting* directory to sys.path (GH-6231) (#6236)

Historically, -m added the empty string as sys.path
zero, meaning it resolved imports against the current
working directory, the same way -c and the interactive
prompt do.

This changes the sys.path initialisation to add the
*starting* working directory as sys.path[0] instead,
such that changes to the working directory while the
program is running will have no effect on imports
when using the -m switch.

(cherry picked from commit d5d9e02dd3c6df06a8dd9ce75ee9b52976420a8b)

6 years agoTrivial improvements to dataclasses tests. (GH-6234)
Miss Islington (bot) [Sun, 25 Mar 2018 13:27:50 +0000 (06:27 -0700)]
Trivial improvements to dataclasses tests. (GH-6234)

(cherry picked from commit 51c9ab42ab84643081d75c83a586afa45d910383)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years ago[3.7] bpo-33136: Harden ssl module against CVE-2018-8970 (GH-6229) (GH-6230)
Miss Islington (bot) [Sun, 25 Mar 2018 11:28:20 +0000 (04:28 -0700)]
[3.7] bpo-33136: Harden ssl module against CVE-2018-8970 (GH-6229) (GH-6230)

Harden ssl module against LibreSSL CVE-2018-8970.
X509_VERIFY_PARAM_set1_host() is called with an explicit namelen. A new test
ensures that NULL bytes are not allowed.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit d02ac25ab0879f1a6de6937573bf00a16b7bd22e)

Co-authored-by: Christian Heimes <christian@python.org>
6 years agobpo-33042: Fix pre-initialization sys module configuration (GH-6157)
Miss Islington (bot) [Sun, 25 Mar 2018 11:27:57 +0000 (04:27 -0700)]
bpo-33042: Fix pre-initialization sys module configuration (GH-6157)

- new test case for pre-initialization of sys.warnoptions and sys._xoptions
- restored ability to call these APIs prior to Py_Initialize
- updated the docs for the affected APIs to make it clear they can be
  called before Py_Initialize
- also enhanced the existing embedding test cases
  to check for expected settings in the sys module
(cherry picked from commit bc77eff8b96be4f035e665ab35c1d06e22f46491)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
6 years agobpo-32943: Fix confusing error message for rot13 codec (GH-5869)
Miss Islington (bot) [Sun, 25 Mar 2018 04:30:39 +0000 (21:30 -0700)]
bpo-32943: Fix confusing error message for rot13 codec (GH-5869)

(cherry picked from commit e4ce9fa89cb542dced553710b05de85202bc4715)

Co-authored-by: Xiang Zhang <angwerzx@126.com>
6 years agoFix invalid escape sequence: use raw string. (GH-6225)
Miss Islington (bot) [Sun, 25 Mar 2018 03:23:00 +0000 (20:23 -0700)]
Fix invalid escape sequence: use raw string. (GH-6225)

(cherry picked from commit c42e7aa67ce72a6c4c6cdfe3b0929ca07556d444)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agobpo-33134: dataclasses: use function dispatch table for hash, instead of a string...
Miss Islington (bot) [Sun, 25 Mar 2018 02:31:29 +0000 (19:31 -0700)]
bpo-33134: dataclasses: use function dispatch table for hash, instead of a string lookup which then is tested with if tests. (GH-6222)

* Change _hash_action to be a function table lookup, instead of a list
of strings which is then tested with if statements.
(cherry picked from commit 01d618c5606a239b03ad1269541eddb6e724775d)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agoTrivial dataclass cleanups: (GH-6218)
Miss Islington (bot) [Sat, 24 Mar 2018 21:42:28 +0000 (14:42 -0700)]
Trivial dataclass cleanups: (GH-6218)

- When adding a single element to a list, use .append() instead of
  += and creating a new list.
- For consistency, import the copy module, instead of just deepcopy. This
  leaves only a module at the class level, instead of a function.
- Improve some comments.
- Improve some whitespace.
- Use tuples instead of lists.
- Simplify a test.
(cherry picked from commit f96ddade0094d162cb6c2fd7255c5e8a90b5c37d)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agobpo-33132: Fix reference counting issues in the compiler. (GH-6209)
Miss Islington (bot) [Sat, 24 Mar 2018 21:27:06 +0000 (14:27 -0700)]
bpo-33132: Fix reference counting issues in the compiler. (GH-6209)

(cherry picked from commit a95d98607efe0c43475b354543e49bf8e240bc6f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years ago[3.7] bpo-33127: Compatibility patch for LibreSSL 2.7.0 (GH-6210) (GH-6213)
Miss Islington (bot) [Sat, 24 Mar 2018 17:37:54 +0000 (10:37 -0700)]
[3.7] bpo-33127: Compatibility patch for LibreSSL 2.7.0 (GH-6210) (GH-6213)

LibreSSL 2.7 introduced OpenSSL 1.1.0 API. The ssl module now detects
LibreSSL 2.7 and only provides API shims for OpenSSL < 1.1.0 and
LibreSSL < 2.7.

Documentation updates and fixes for failing tests will be provided in
another patch set.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 4ca0739c9d97ac7cd45499e0d31be68dc659d0e1)

Co-authored-by: Christian Heimes <christian@python.org>
6 years ago[3.7] bpo-24334: Remove inaccurate match_hostname call (GH-6211) (#6212)
Miss Islington (bot) [Sat, 24 Mar 2018 14:59:16 +0000 (07:59 -0700)]
[3.7] bpo-24334: Remove inaccurate match_hostname call (GH-6211) (#6212)

Commit 141c5e8c re-added match_hostname() call. The resurrection of the
function call was never intended and was solely a merge mistake.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit e42ae915095ebca789cc36f3a336a3331fe35945)

Co-authored-by: Christian Heimes <christian@python.org>
6 years agobpo-33061: Add missing 'NoReturn' to __all__ in typing.py (GH-6127) (#6162)
Ivan Levkivskyi [Fri, 23 Mar 2018 21:44:54 +0000 (21:44 +0000)]
bpo-33061: Add missing 'NoReturn' to __all__ in typing.py (GH-6127) (#6162)

6 years agobpo-27428: Fix WindowsRegistryFinder documentation to list appropriate ABC (GH-6061)
Miss Islington (bot) [Fri, 23 Mar 2018 21:41:26 +0000 (14:41 -0700)]
bpo-27428: Fix WindowsRegistryFinder documentation to list appropriate ABC (GH-6061)

(cherry picked from commit 5cbb84106efefd200933aa31e22abf39267d2557)

Co-authored-by: Himanshu Lakhara <himanshulakhara1947@gmail.com>
6 years agobpo-31639: Use threads in http.server module. (GH-5018)
Miss Islington (bot) [Fri, 23 Mar 2018 20:31:20 +0000 (13:31 -0700)]
bpo-31639: Use threads in http.server module. (GH-5018)

(cherry picked from commit 8bcfa02e4b1b65634e526e197588bc600674c80b)

Co-authored-by: Julien Palard <julien@palard.fr>
6 years agoFix a reference to the MRE book in re docs (GH-1113)
Miss Islington (bot) [Fri, 23 Mar 2018 15:55:26 +0000 (08:55 -0700)]
Fix a reference to the MRE book in re docs (GH-1113)

Reported by Maksym Nikulyak on docs.p.o.
(cherry picked from commit a0a42d22d8dff0ec6ea9daa4d9c9e9399f9b4e6c)

Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
6 years agobpo-33041: Fixed jumping if the function contains an "async for" loop. (GH-6154)
Serhiy Storchaka [Fri, 23 Mar 2018 12:35:33 +0000 (14:35 +0200)]
bpo-33041: Fixed jumping if the function contains an "async for" loop. (GH-6154)

6 years agobpo-32999: ast: Convert useless check to assert (GH-6197)
Miss Islington (bot) [Fri, 23 Mar 2018 09:43:11 +0000 (02:43 -0700)]
bpo-32999: ast: Convert useless check to assert (GH-6197)

(cherry picked from commit c65bf3fe4a2bde424b79e350f36b7aaa3f6476f6)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
6 years agobpo-32505: dataclasses: raise TypeError if a member variable is of type Field, but...
Miss Islington (bot) [Thu, 22 Mar 2018 20:58:59 +0000 (13:58 -0700)]
bpo-32505: dataclasses: raise TypeError if a member variable is of type Field, but doesn't have a type annotation. (GH-6192)

If a dataclass has a member variable that's of type Field, but it doesn't have a type annotation, raise TypeError.
(cherry picked from commit 56970b8ce9d23269d20a76f13c80e670c856ba7f)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agobpo-32999: Revert GH-6002 (fc7df0e6) (GH-6189) (GH-6190)
Miss Islington (bot) [Thu, 22 Mar 2018 14:00:11 +0000 (07:00 -0700)]
bpo-32999: Revert GH-6002 (fc7df0e6) (GH-6189) (GH-6190)

bpo-33018 (GH-5944) fixed bpo-32999 too.  So fc7df0e6 is not required
anymore.  Revert it except test case.
(cherry picked from commit f757b72b2524ce3451d2269f0b8a9f0593a7b27f)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
6 years agobpo-33018: Improve issubclass() error checking and message. (GH-5944)
Miss Islington (bot) [Thu, 22 Mar 2018 11:49:26 +0000 (04:49 -0700)]
bpo-33018: Improve issubclass() error checking and message. (GH-5944)

This improves error message for situations when a non-class is
checked w.r.t. an abstract base class.
(cherry picked from commit 40472dd42de4f7265d456458cd13ad6894d736db)

Co-authored-by: jab <jab@users.noreply.github.com>
6 years agoUpgrade pip to v9.0.3 and setuptools to v39.0.1 (GH-6184)
Miss Islington (bot) [Thu, 22 Mar 2018 03:38:24 +0000 (20:38 -0700)]
Upgrade pip to v9.0.3 and setuptools to v39.0.1 (GH-6184)

(cherry picked from commit d93b5161af12291f3f98a260c90cc2975ea9e9cd)

Co-authored-by: Donald Stufft <donald@stufft.io>
6 years agobpo-33116: Add 'Field' to dataclasses.__all__. (GH-6182) (GH-6183)
Miss Islington (bot) [Wed, 21 Mar 2018 21:44:23 +0000 (14:44 -0700)]
bpo-33116: Add 'Field' to dataclasses.__all__. (GH-6182) (GH-6183)

- Add missing 'Field' to __all__.
- Improve tests to catch this.
(cherry picked from commit 8e4560a9da6a02aa157dd7df8bd0be0d258c0a73)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agoFIX failure on OSX sem_getvalue (GH-6180) (GH-6181)
Miss Islington (bot) [Wed, 21 Mar 2018 19:00:55 +0000 (12:00 -0700)]
FIX failure on OSX sem_getvalue (GH-6180) (GH-6181)

(cherry picked from commit dec1c7786f642049c2508e909442189dc043b5da)

Co-authored-by: Thomas Moreau <thomas.moreau.2010@gmail.com>
6 years agobpo-33078 - Fix queue size on pickling error (GH-6119) (GH-6178)
Miss Islington (bot) [Wed, 21 Mar 2018 16:21:15 +0000 (09:21 -0700)]
bpo-33078 - Fix queue size on pickling error (GH-6119) (GH-6178)

(cherry picked from commit e2f33add635df4fde81be9960bab367e010c19bf)

Co-authored-by: Thomas Moreau <thomas.moreau.2010@gmail.com>
6 years agobpo-32896: Fix error when subclassing a dataclass with a field that uses a default_fa...
Miss Islington (bot) [Wed, 21 Mar 2018 09:17:30 +0000 (02:17 -0700)]
bpo-32896: Fix error when subclassing a dataclass with a field that uses a default_factory (GH-6170) (GH-6171)

Fix the way that new annotations in a class are detected.
(cherry picked from commit 8f6eccdc64cab735c47620fea948e64b19f83684)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agoFix typos in mmap() error messages (GH-6173)
Miss Islington (bot) [Wed, 21 Mar 2018 06:24:41 +0000 (23:24 -0700)]
Fix typos in mmap() error messages (GH-6173)

(cherry picked from commit 9308dea3e1fd565d50a76a667e4e8ef0568b7053)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
6 years agobpo-27683: Fix a regression for host() of ipaddress network objects (GH-6016)
Miss Islington (bot) [Wed, 21 Mar 2018 01:22:23 +0000 (18:22 -0700)]
bpo-27683: Fix a regression for host() of ipaddress network objects (GH-6016)

The result of host() was not empty when the network is constructed by a tuple containing an
integer mask and only 1 bit left for addresses.
(cherry picked from commit 10b134a07c898c2fbc5fd3582503680a54ed80a2)

Co-authored-by: Xiang Zhang <angwerzx@126.com>
6 years agobpo-18802: Add more details to ipaddress documentation (GH-6083)
Miss Islington (bot) [Wed, 21 Mar 2018 00:30:43 +0000 (17:30 -0700)]
bpo-18802: Add more details to ipaddress documentation (GH-6083)

Original patch by Jon Foster and Berker Peksag.
(cherry picked from commit 5609b78392d59c7362ef8aa5c4a4529325f01f27)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
6 years agobpo-28247: Document Windows executable creation in zipapp (GH-6158)
Miss Islington (bot) [Tue, 20 Mar 2018 22:44:21 +0000 (15:44 -0700)]
bpo-28247: Document Windows executable creation in zipapp (GH-6158)

(cherry picked from commit 4be79f29463f632cd8b48486feadc2ed308fb520)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
6 years ago[3.7] bpo-33021: Release the GIL during fstat() calls (GH-6019) (GH-6159)
Miss Islington (bot) [Tue, 20 Mar 2018 19:16:30 +0000 (12:16 -0700)]
[3.7] bpo-33021: Release the GIL during fstat() calls (GH-6019) (GH-6159)

fstat may block for long time if the file descriptor is on a
non-responsive NFS server, hanging all threads. Most fstat() calls are
handled by _Py_fstat(), releasing the GIL internally, but but
_Py_fstat_noraise() does not release the GIL, and most calls release the
GIL explicitly around it.

This patch fixes last 2 calls to _Py_fstat_no_raise(), avoiding hangs
when calling:
- mmap.mmap()
- os.urandom()
- random.seed()
(cherry picked from commit 4484f9dca9149da135bbae035f10a50d20d1cbbb)

Co-authored-by: Nir Soffer <nirsof@gmail.com>
6 years agobpo-33100: Dataclasses now handles __slots__ and default values correctly. (GH-6152...
Miss Islington (bot) [Tue, 20 Mar 2018 01:31:22 +0000 (18:31 -0700)]
bpo-33100: Dataclasses now handles __slots__ and default values correctly. (GH-6152) (GH-6153)

If the class has a member that's a MemberDescriptorType, it's not a default value, it's from that member being in __slots__.
(cherry picked from commit 7389fd935c95b4b6f094312294e703ee0de18719)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agobpo-32953: Dataclasses: frozen should not be inherited for non-dataclass derived...
Miss Islington (bot) [Mon, 19 Mar 2018 01:03:36 +0000 (18:03 -0700)]
bpo-32953: Dataclasses: frozen should not be inherited for non-dataclass derived classes (GH-6147) (GH-6148)

If a non-dataclass derives from a frozen dataclass, allow attributes to be set.
Require either all of the dataclasses in a class hierarchy to be frozen, or all non-frozen.
Store `@dataclass` parameters on the class object under `__dataclass_params__`. This is needed to detect frozen base classes.
(cherry picked from commit f199bc655eb50c28e94010714629b376bbbd077b)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
6 years agobpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951)
Miss Islington (bot) [Sun, 18 Mar 2018 20:50:41 +0000 (13:50 -0700)]
bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951)

(cherry picked from commit 134cb01cda50f02725575808130b05d2d776693f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years agobpo-19417: Add test_bdb.py (GH-5217)
Miss Islington (bot) [Sun, 18 Mar 2018 20:25:15 +0000 (13:25 -0700)]
bpo-19417: Add test_bdb.py (GH-5217)

(cherry picked from commit 3fe33043ee83d19e15551094fc1e0984617ded3c)

Co-authored-by: xdegaye <xdegaye@gmail.com>
6 years agoRevert "bpo-30406: Make async and await proper keywords (GH-1669)" (GH-6143)
Miss Islington (bot) [Sun, 18 Mar 2018 19:15:52 +0000 (12:15 -0700)]
Revert "bpo-30406: Make async and await proper keywords (GH-1669)" (GH-6143)

This reverts commit ac317700ce7439e38a8b420218d9a5035bba92ed.

(Reverts only the lib2to3 part.)
(cherry picked from commit f64aae46da292f71f6be750026cd052362e066bc)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
6 years ago[3.7] bpo-33041: Add tests for jumps in/out of 'async with' blocks. (GH-6110). (GH...
Serhiy Storchaka [Sun, 18 Mar 2018 10:31:37 +0000 (12:31 +0200)]
[3.7] bpo-33041: Add tests for jumps in/out of 'async with' blocks. (GH-6110). (GH-6140)

(cherry picked from commit bc300ce205f99acb1ef92c37de06dc76147e073b)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years agobpo-27645: Fix version number in 'database in transaction' fallback (GH-6131)
Miss Islington (bot) [Sun, 18 Mar 2018 06:24:33 +0000 (23:24 -0700)]
bpo-27645: Fix version number in 'database in transaction' fallback (GH-6131)

It was actually fixed in SQLite 3.8.8, not 3.8.7.

(cherry picked from commit bbf7bb7a636b3112ef6f6b31df385606d52517ce)

Co-authored-by: Aviv Palivoda <palaviv@gmail.com>
6 years agoUpdate pip to 9.0.2 and setuptools to 38.6.1 (GH-6133) (#6134)
Miss Islington (bot) [Sat, 17 Mar 2018 15:46:05 +0000 (08:46 -0700)]
Update pip to 9.0.2 and setuptools to 38.6.1 (GH-6133) (#6134)

(cherry picked from commit 7f81bb2addbbccfa45a2fc1aa6030f26dcf4bd78)

Co-authored-by: Donald Stufft <donald@stufft.io>
6 years agobpo-32374: m_traverse may be called with m_state=NULL (GH-5140)
Miss Islington (bot) [Sat, 17 Mar 2018 06:03:56 +0000 (23:03 -0700)]
bpo-32374:  m_traverse may be called with m_state=NULL (GH-5140)

Multi-phase initialized modules allow m_traverse to be called while the
module is still being initialized, so module authors may need to account
for that.
(cherry picked from commit c2b0b12d1a137ada1023ab7c10b8d9a0249d95f9)

Co-authored-by: Marcel Plch <gmarcel.plch@gmail.com>
6 years ago[3.7] bpo-32885: Tools/scripts/pathfix.py: Add -n option for no backup~ (GH-5772...
Miss Islington (bot) [Wed, 14 Mar 2018 17:52:28 +0000 (10:52 -0700)]
[3.7] bpo-32885: Tools/scripts/pathfix.py: Add -n option for no backup~ (GH-5772) (#6103)

Creating backup files with ~ suffix can be undesirable in some environment,
such as when building RPM packages. Instead of requiring the user to remove
those files manually, option -n was added, that simply disables this feature.

-n was selected because 2to3 has the same option with this behavior.
(cherry picked from commit 5affd5c29eb1493cb31ef3cfdde15538ac134689)

Co-authored-by: Miro Hrončok <miro@hroncok.cz>
6 years agolib2to3: Add more tests (GH-6101) (#6108)
Miss Islington (bot) [Tue, 13 Mar 2018 18:20:38 +0000 (11:20 -0700)]
lib2to3: Add more tests (GH-6101) (#6108)

(cherry picked from commit 74f56878cdee18d485e4f8b485d55ce62e38f4c9)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
6 years agobpo-33056 FIX leaking fd in concurrent.futures.ProcessPoolExecutor (GH-6084) (#6092)
Miss Islington (bot) [Tue, 13 Mar 2018 09:10:57 +0000 (02:10 -0700)]
bpo-33056 FIX leaking fd in concurrent.futures.ProcessPoolExecutor (GH-6084) (#6092)

(cherry picked from commit 095ee415cee41bf24c3a1108c23307e5baf168dd)

Co-authored-by: Thomas Moreau <thomas.moreau.2010@gmail.com>
6 years ago[3.7] bpo-17288: Prevent jumps from 'return' and 'exception' trace events. (GH-5928)
xdegaye [Tue, 13 Mar 2018 08:52:35 +0000 (09:52 +0100)]
[3.7] bpo-17288: Prevent jumps from 'return' and 'exception' trace events. (GH-5928)

6 years agobpo-33064: lib2to3: support trailing comma after *args and **kwargs (GH-6096) (#6097)
Miss Islington (bot) [Tue, 13 Mar 2018 08:08:02 +0000 (01:08 -0700)]
bpo-33064: lib2to3: support trailing comma after *args and **kwargs (GH-6096) (#6097)

New tests also added.

I also made the comments in line with the builtin Grammar/Grammar. PEP 306 was
withdrawn, Kees Blom's railroad program has been lost to the sands of time for
at least 16 years now (I found a python-dev post from people looking for it).
(cherry picked from commit b51f5de71163f096d2d5229ede5379cdb284f651)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
6 years agobpo-29719: Remove Date and Release field in whatsnew/3.7 (GH-6094)
Ned Deily [Tue, 13 Mar 2018 01:16:54 +0000 (21:16 -0400)]
bpo-29719: Remove Date and Release field in whatsnew/3.7 (GH-6094)

6 years agoAdd macOS installer Conclusion file
Ned Deily [Mon, 12 Mar 2018 19:44:21 +0000 (15:44 -0400)]
Add macOS installer Conclusion file

6 years agoFix docs markup for asyncio current_task() and all_tasks() (GH-6089)
Miss Islington (bot) [Mon, 12 Mar 2018 19:12:05 +0000 (12:12 -0700)]
Fix docs markup for asyncio current_task() and all_tasks() (GH-6089)

(cherry picked from commit b21505e7109bafe75d87ab63d524b4e749157dbd)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
6 years agobpo-31804: Fix multiprocessing.Process with broken standard streams (GH-6079) (GH...
Miss Islington (bot) [Sun, 11 Mar 2018 18:42:37 +0000 (11:42 -0700)]
bpo-31804: Fix multiprocessing.Process with broken standard streams (GH-6079) (GH-6080)

In some conditions the standard streams will be None or closed in the child process (for example if using "pythonw" instead of "python" on Windows).  Avoid failing with a non-0 exit code in those conditions.

Report and initial patch by poxthegreat.
(cherry picked from commit e756f66c83786ee82f5f7d45931ae50a6931dd7f)

Co-authored-by: Antoine Pitrou <pitrou@free.fr>
6 years ago[3.7] bpo-33026: Fix jumping out of "with" block by setting f_lineno. (GH-6026)....
Serhiy Storchaka [Sun, 11 Mar 2018 07:30:13 +0000 (09:30 +0200)]
[3.7] bpo-33026: Fix jumping out of "with" block by setting f_lineno. (GH-6026). (#6074)

(cherry picked from commit 26c9f565d016db21257a60d29ab2c99383dd5ac7)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 years agobpo-32338: OrderedDict import is no longer needed in re. (GH-4891)
Miss Islington (bot) [Sun, 11 Mar 2018 07:01:58 +0000 (23:01 -0800)]
bpo-32338: OrderedDict import is no longer needed in re. (GH-4891)

(cherry picked from commit b931bd0a2fe7e9293339019352baf3317166b769)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>