From 82bce54614f8116a40454fbbbf96a3fd460ca7df Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Thu, 27 Jan 2022 14:55:58 +0300 Subject: [PATCH] bpo-46544: Do not leak `x` and `uspace` in textwrap.TextWrapper (GH-30955) --- Lib/textwrap.py | 5 +---- .../next/Library/2022-01-27-13-30-02.bpo-46544.oFDVWj.rst | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-01-27-13-30-02.bpo-46544.oFDVWj.rst diff --git a/Lib/textwrap.py b/Lib/textwrap.py index 841de9baecf..98bedd27ea3 100644 --- a/Lib/textwrap.py +++ b/Lib/textwrap.py @@ -63,10 +63,7 @@ class TextWrapper: Append to the last line of truncated text. """ - unicode_whitespace_trans = {} - uspace = ord(' ') - for x in _whitespace: - unicode_whitespace_trans[ord(x)] = uspace + unicode_whitespace_trans = dict.fromkeys(map(ord, _whitespace), ord(' ')) # This funky little regex is just the trick for splitting # text up into word-wrappable chunks. E.g. diff --git a/Misc/NEWS.d/next/Library/2022-01-27-13-30-02.bpo-46544.oFDVWj.rst b/Misc/NEWS.d/next/Library/2022-01-27-13-30-02.bpo-46544.oFDVWj.rst new file mode 100644 index 00000000000..63b47e55f1b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-01-27-13-30-02.bpo-46544.oFDVWj.rst @@ -0,0 +1,2 @@ +Don't leak ``x`` & ``uspace`` intermediate vars in +:class:`textwrap.TextWrapper`.