summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2014-11-15 18:58:58 (GMT)
committerRaymond Hettinger <python@rcn.com>2014-11-15 18:58:58 (GMT)
commita34cd0c781d8e6581fdb4927560f81b594e29f1d (patch)
treeab4843b09a526cf3c20aebc6bb891298843ff8d0
parent5d438339822e9ae660940fe0ed009e7253d0a2a4 (diff)
downloadcpython-a34cd0c781d8e6581fdb4927560f81b594e29f1d.zip
cpython-a34cd0c781d8e6581fdb4927560f81b594e29f1d.tar.gz
cpython-a34cd0c781d8e6581fdb4927560f81b594e29f1d.tar.bz2
Issue #22824: Simplify reprlib output format for empty arrays
-rw-r--r--Lib/reprlib.py2
-rw-r--r--Lib/test/test_reprlib.py2
-rw-r--r--Misc/NEWS3
3 files changed, 6 insertions, 1 deletions
diff --git a/Lib/reprlib.py b/Lib/reprlib.py
index 5eb5ca3..ecbd2cc 100644
--- a/Lib/reprlib.py
+++ b/Lib/reprlib.py
@@ -83,6 +83,8 @@ class Repr:
return self._repr_iterable(x, level, '[', ']', self.maxlist)
def repr_array(self, x, level):
+ if not x:
+ return "array('%s')" % x.typecode
header = "array('%s', [" % x.typecode
return self._repr_iterable(x, level, header, '])', self.maxarray)
diff --git a/Lib/test/test_reprlib.py b/Lib/test/test_reprlib.py
index 83f38cd..a51c4d7 100644
--- a/Lib/test/test_reprlib.py
+++ b/Lib/test/test_reprlib.py
@@ -94,7 +94,7 @@ class ReprTests(unittest.TestCase):
eq(r(d), "{'alice': 1, 'arthur': 1, 'bob': 2, 'charles': 3, ...}")
# array.array after 5.
- eq(r(array('i')), "array('i', [])")
+ eq(r(array('i')), "array('i')")
eq(r(array('i', [1])), "array('i', [1])")
eq(r(array('i', [1, 2])), "array('i', [1, 2])")
eq(r(array('i', [1, 2, 3])), "array('i', [1, 2, 3])")
diff --git a/Misc/NEWS b/Misc/NEWS
index 69ccd2a..b7fd7ad 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -209,6 +209,9 @@ Library
- Issue #22824: Updated reprlib output format for sets to use set literals.
Patch contributed by Berker Peksag.
+- Issue #22824: Updated reprlib output format for arrays to display empty
+ arrays without an unnecessary empty list. Suggested by Serhiy Storchaka.
+
- Issue #22406: Fixed the uu_codec codec incorrectly ported to 3.x.
Based on patch by Martin Panter.