From: Batuhan Taşkaya <47358913+isidentical@users.noreply.github.com> Date: Sun, 1 Mar 2020 20:07:22 +0000 (+0300) Subject: bpo-39520: Fix un-parsing of ext slices with no dimensions (GH-18304) X-Git-Tag: v3.9.0a5~212 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=185903de12de8837bf0dc0008a16e5e56c66a019;p=thirdparty%2FPython%2Fcpython.git bpo-39520: Fix un-parsing of ext slices with no dimensions (GH-18304) --- diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py index fd468b57b477..d83c47ef1559 100644 --- a/Lib/test/test_future.py +++ b/Lib/test/test_future.py @@ -256,6 +256,11 @@ class AnnotationsFutureTestCase(unittest.TestCase): 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-39520.uicBq6.rst new file mode 100644 index 000000000000..dec67656fa84 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-02-02-00-12-07.bpo-39520.uicBq6.rst @@ -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 f376e86ddc4c..1a7cd236aafa 100644 --- a/Python/ast_unparse.c +++ b/Python/ast_unparse.c @@ -746,6 +746,7 @@ append_ast_ext_slice(_PyUnicodeWriter *writer, slice_ty slice) APPEND_STR_IF(i > 0, ", "); APPEND(slice, (slice_ty)asdl_seq_GET(slice->v.ExtSlice.dims, i)); } + APPEND_STR_IF(dims_count == 1, ","); return 0; }