Now FOR_LOOP is gone, loop_subscript can go too.

make -s rules :-)
diff --git a/Python/ceval.c b/Python/ceval.c
index 12397b4..7f7d37e 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -51,7 +51,6 @@
 static void call_trace_protected(Py_tracefunc, PyObject *,
 				 PyFrameObject *, int);
 static void call_exc_trace(Py_tracefunc, PyObject *, PyFrameObject *);
-static PyObject *loop_subscript(PyObject *, PyObject *);
 static PyObject *apply_slice(PyObject *, PyObject *, PyObject *);
 static int assign_slice(PyObject *, PyObject *,
 			PyObject *, PyObject *);
@@ -3303,24 +3302,6 @@
 #define SLICE_ERROR_MSG \
 	"standard sequence type does not support step size other than one"
 
-static PyObject *
-loop_subscript(PyObject *v, PyObject *w)
-{
-	PySequenceMethods *sq = v->ob_type->tp_as_sequence;
-	int i;
-	if (sq == NULL || sq->sq_item == NULL) {
-		PyErr_SetString(PyExc_TypeError, "loop over non-sequence");
-		return NULL;
-	}
-	i = PyInt_AsLong(w);
-	v = (*sq->sq_item)(v, i);
-	if (v)
-		return v;
-	if (PyErr_ExceptionMatches(PyExc_IndexError))
-		PyErr_Clear();
-	return NULL;
-}
-
 /* Extract a slice index from a PyInt or PyLong, and store in *pi.
    Silently reduce values larger than INT_MAX to INT_MAX, and silently
    boost values less than -INT_MAX to 0.  Return 0 on error, 1 on success.