From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 6 Jan 2025 08:59:24 +0000 (+0100) Subject: [3.12] gh-128519: Align the docstring of untokenize() to match the docs (GH-128521... X-Git-Tag: v3.12.9~107 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f9aac4a76d68c8eef78058b4da1252beaadd1570;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-128519: Align the docstring of untokenize() to match the docs (GH-128521) (#128532) (cherry picked from commit aef52ca8b334ff90e8032da39f4d06e7b5130eb9) Co-authored-by: Tomas R --- diff --git a/Lib/tokenize.py b/Lib/tokenize.py index b2dff8e69670..553c1ca43889 100644 --- a/Lib/tokenize.py +++ b/Lib/tokenize.py @@ -320,16 +320,10 @@ def untokenize(iterable): with at least two elements, a token number and token value. If only two tokens are passed, the resulting output is poor. - Round-trip invariant for full input: - Untokenized source will match input source exactly - - Round-trip invariant for limited input: - # Output bytes will tokenize back to the input - t1 = [tok[:2] for tok in tokenize(f.readline)] - newcode = untokenize(t1) - readline = BytesIO(newcode).readline - t2 = [tok[:2] for tok in tokenize(readline)] - assert t1 == t2 + The result is guaranteed to tokenize back to match the input so + that the conversion is lossless and round-trips are assured. + The guarantee applies only to the token type and token string as + the spacing between tokens (column positions) may change. """ ut = Untokenizer() out = ut.untokenize(iterable)