]> granicus.if.org Git - python/commitdiff
Issue #22824: Simplify reprlib output format for empty arrays
authorRaymond Hettinger <python@rcn.com>
Sat, 15 Nov 2014 18:58:58 +0000 (10:58 -0800)
committerRaymond Hettinger <python@rcn.com>
Sat, 15 Nov 2014 18:58:58 +0000 (10:58 -0800)
Lib/reprlib.py
Lib/test/test_reprlib.py
Misc/NEWS

index 5eb5ca35269df742f5d35c133509b9c6a4c31967..ecbd2cc47228b90fbb0e00f6a9e968d86c1cbee6 100644 (file)
@@ -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)
 
index 83f38cdc40345aeb1550ee0aff2254f122148401..a51c4d7523f633ac2aa9a755cb1d058dd54279e1 100644 (file)
@@ -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])")
index 69ccd2ae12972d318a04d36c3cc47821974dd043..b7fd7ad40958d5224b5af548fa96186379e79c40 100644 (file)
--- 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.