[Python-checkins] r53190 - in python/branches/release25-maint: Lib/test/test_array.py Misc/ACKS Modules/arraymodule.c

thomas.wouters python-checkins at python.org
Fri Dec 29 15:42:17 CET 2006


Author: thomas.wouters
Date: Fri Dec 29 15:42:17 2006
New Revision: 53190

Modified:
   python/branches/release25-maint/Lib/test/test_array.py
   python/branches/release25-maint/Misc/ACKS
   python/branches/release25-maint/Modules/arraymodule.c
Log:

Backport trunk checkin r51565:

Fix SF bug #1545837: array.array borks on deepcopy. array.__deepcopy__()
needs to take an argument, even if it doesn't actually use it.



Modified: python/branches/release25-maint/Lib/test/test_array.py
==============================================================================
--- python/branches/release25-maint/Lib/test/test_array.py	(original)
+++ python/branches/release25-maint/Lib/test/test_array.py	Fri Dec 29 15:42:17 2006
@@ -85,6 +85,13 @@
         self.assertNotEqual(id(a), id(b))
         self.assertEqual(a, b)
 
+    def test_deepcopy(self):
+        import copy
+        a = array.array(self.typecode, self.example)
+        b = copy.deepcopy(a)
+        self.assertNotEqual(id(a), id(b))
+        self.assertEqual(a, b)
+
     def test_pickle(self):
         for protocol in (0, 1, 2):
             a = array.array(self.typecode, self.example)

Modified: python/branches/release25-maint/Misc/ACKS
==============================================================================
--- python/branches/release25-maint/Misc/ACKS	(original)
+++ python/branches/release25-maint/Misc/ACKS	Fri Dec 29 15:42:17 2006
@@ -242,6 +242,7 @@
 Michael Guravage
 Lars Gustäbel
 Barry Haddow
+Václav Haisman
 Paul ten Hagen
 Rasmus Hahn
 Peter Haight

Modified: python/branches/release25-maint/Modules/arraymodule.c
==============================================================================
--- python/branches/release25-maint/Modules/arraymodule.c	(original)
+++ python/branches/release25-maint/Modules/arraymodule.c	Fri Dec 29 15:42:17 2006
@@ -1495,7 +1495,7 @@
 	 copy_doc},
 	{"count",	(PyCFunction)array_count,	METH_O,
 	 count_doc},
-	{"__deepcopy__",(PyCFunction)array_copy,	METH_NOARGS,
+	{"__deepcopy__",(PyCFunction)array_copy,	METH_O,
 	 copy_doc},
 	{"extend",      (PyCFunction)array_extend,	METH_O,
 	 extend_doc},


More information about the Python-checkins mailing list