# HG changeset patch
# User André Apitzsch <andre.apitzsch@st.ovgu.de>
# Date 1322569598 -3600
# Node ID 6198de473158f20f75cd2a6d6da3d05332707c99
# Parent  22ae5bb74d6a1f8e1dc5cbf38b92ed291f03c942
trac 12093: replace deprecated getslice (part 2)

diff --git a/sage/structure/sequence.py b/sage/structure/sequence.py
--- a/sage/structure/sequence.py
+++ b/sage/structure/sequence.py
@@ -518,10 +518,10 @@
         self._require_mutable()
         list.reverse(self)
 
-    def __setitem__(self, n, x):
+    def __setitem__(self, n, value):
         """
         EXAMPLES::
-        
+
             sage: a = Sequence([1..5])
             sage: a[2] = 19
             sage: a
@@ -533,16 +533,6 @@
             sage: a[2] = '5'
             sage: a
             [1, 2, 5, 4, 5]
-        """
-        self._require_mutable()
-        y = self.__universe(x)
-        list.__setitem__(self, n, y)
-        self.__hash=None
-
-    def __setslice__(self, i, j, seq):
-        """
-        EXAMPLES::
-        
             sage: v = Sequence([1,2,3,4], immutable=True)
             sage: v[1:3] = [5,7]
             Traceback (most recent call last):
@@ -556,14 +546,17 @@
             <type 'sage.rings.integer.Integer'>
         """
         self._require_mutable()
-        y = [self.__universe(x) for x in seq]
-        list.__setslice__(self, i, j, y)
+        if isinstance(n, slice):
+            y = [self.__universe(x) for x in value]
+        else:
+            y = self.__universe(value)
+        list.__setitem__(self, n, y)
         self.__hash=None
 
-    def __getslice__(self, i, j):
+    def __getitem__(self, n):
         """
         EXAMPLES::
-        
+
             sage: v = Sequence([1,2,3,4], immutable=True)
             sage: w = v[2:]
             sage: w
@@ -575,11 +568,20 @@
             sage: v
             [1, 2, 3, 4]
         """
-        return Sequence(list.__getslice__(self, i, j),
-                        universe = self.__universe,
-                        check = False,
-                        immutable = False,
-                        cr = self.__cr)
+        if isinstance(n, slice):
+            return Sequence(list.__getitem__(self, n),
+                            universe = self.__universe,
+                            check = False,
+                            immutable = False,
+                            cr = self.__cr)
+        else:
+            return list.__getitem__(self,n)
+
+    def __getslice__(self, i, j):
+        return self.__getitem__(slice(i,j))
+
+    def __setslice__(self, i, j, value):
+        return self.__setitem__(slice(i,j), value)
 
     def append(self, x):
         """
