Accept Jim Jewett's api suggestion to use None instead of -1 to indicate unbounded deques.
diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py
index c2a046d..aeb6d17 100644
--- a/Lib/test/test_deque.py
+++ b/Lib/test/test_deque.py
@@ -48,6 +48,7 @@
         self.assertEqual(list(d), range(50, 150))
 
     def test_maxlen(self):
+        self.assertRaises(ValueError, deque, 'abc', -1)
         self.assertRaises(ValueError, deque, 'abc', -2)
         d = deque(range(10), maxlen=3)
         self.assertEqual(repr(d), 'deque([7, 8, 9], maxlen=3)')
@@ -73,7 +74,7 @@
             fo.close()
             os.remove(test_support.TESTFN)
 
-        d = deque(range(10), maxlen=-1)
+        d = deque(range(10), maxlen=None)
         self.assertEqual(repr(d), 'deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])')
         try:
             fo = open(test_support.TESTFN, "wb")
@@ -489,6 +490,22 @@
         self.assertEqual(type(d), type(e))
         self.assertEqual(list(d), list(e))
 
+        d = Deque('abcde', maxlen=4)
+
+        e = d.__copy__()
+        self.assertEqual(type(d), type(e))
+        self.assertEqual(list(d), list(e))
+
+        e = Deque(d)
+        self.assertEqual(type(d), type(e))
+        self.assertEqual(list(d), list(e))
+
+        s = pickle.dumps(d)
+        e = pickle.loads(s)
+        self.assertNotEqual(id(d), id(e))
+        self.assertEqual(type(d), type(e))
+        self.assertEqual(list(d), list(e))
+
 ##    def test_pickle(self):
 ##        d = Deque('abc')
 ##        d.append(d)