__getslice__(): Make this use the constructor form that gets a sequence
as a parameter; this was the only use of the base
constructor or surgical alteration of another object's
data attribute.
This change simplifies the constructor requirements for subclasses.
This relates to SourceForge bug #115928.
diff --git a/Lib/UserList.py b/Lib/UserList.py
index aab5119..e79faea 100644
--- a/Lib/UserList.py
+++ b/Lib/UserList.py
@@ -24,9 +24,7 @@
def __delitem__(self, i): del self.data[i]
def __getslice__(self, i, j):
i = max(i, 0); j = max(j, 0)
- userlist = self.__class__()
- userlist.data[:] = self.data[i:j]
- return userlist
+ return self.__class__(self.data[i:j])
def __setslice__(self, i, j, other):
i = max(i, 0); j = max(j, 0)
if isinstance(other, UserList):