[Python-checkins] (no subject)

Batuhan Taşkaya webhook-mailer at python.org
Sun Mar 1 15:07:26 EST 2020




To: python-checkins at python.org
Subject: bpo-39520: Fix un-parsing of ext slices with no dimensions (GH-18304)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

https://github.com/python/cpython/commit/185903de12de8837bf0dc0008a16e5e56c66=
a019
commit: 185903de12de8837bf0dc0008a16e5e56c66a019
branch: master
author: Batuhan Ta=C5=9Fkaya <47358913+isidentical at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2020-03-01T20:07:22Z
summary:

bpo-39520: Fix un-parsing of ext slices with no dimensions (GH-18304)

files:
A Misc/NEWS.d/next/Core and Builtins/2020-02-02-00-12-07.bpo-39520.uicBq6.rst
M Lib/test/test_future.py
M Python/ast_unparse.c

diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py
index fd468b57b477e..d83c47ef15591 100644
--- a/Lib/test/test_future.py
+++ b/Lib/test/test_future.py
@@ -256,6 +256,11 @@ def test_annotations(self):
         eq("slice[:-1]")
         eq("slice[1:]")
         eq("slice[::-1]")
+        eq("slice[:,]")
+        eq("slice[1:2,]")
+        eq("slice[1:2:3,]")
+        eq("slice[1:2, 1]")
+        eq("slice[1:2, 2, 3]")
         eq("slice[()]")
         eq("slice[a, b:c, d:e:f]")
         eq("slice[(x for x in a)]")
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-02-00-12-07.bpo-39520=
.uicBq6.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-02-00-12-07.bpo-3952=
0.uicBq6.rst
new file mode 100644
index 0000000000000..dec67656fa849
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2020-02-02-00-12-07.bpo-39520.uicBq6=
.rst=09
@@ -0,0 +1,2 @@
+Fix unparsing of ext slices with no items (``foo[:,]``). Patch by Batuhan
+Taskaya.
diff --git a/Python/ast_unparse.c b/Python/ast_unparse.c
index f376e86ddc4c0..1a7cd236aafa1 100644
--- a/Python/ast_unparse.c
+++ b/Python/ast_unparse.c
@@ -746,6 +746,7 @@ append_ast_ext_slice(_PyUnicodeWriter *writer, slice_ty s=
lice)
         APPEND_STR_IF(i > 0, ", ");
         APPEND(slice, (slice_ty)asdl_seq_GET(slice->v.ExtSlice.dims, i));
     }
+    APPEND_STR_IF(dims_count =3D=3D 1, ",");
     return 0;
 }
=20



More information about the Python-checkins mailing list