Add special case to PySequence_List() so that list() of a list is
faster (using PyList_GetSlice()).  Also added a test for a NULL
argument, as with PySequence_Tuple().  (Hmm...  Better names for these
two would be PyList_FromSequence() and PyTuple_FromSequence().  Oh well.)
diff --git a/Objects/abstract.c b/Objects/abstract.c
index a94a136..cfa4cc8 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1055,6 +1055,12 @@
 {
 	PySequenceMethods *m;
 
+	if (v == NULL)
+		return null_error();
+
+	if (PyList_Check(v))
+		return PyList_GetSlice(v, 0, PyList_GET_SIZE(v));
+
 	m = v->ob_type->tp_as_sequence;
 	if (m && m->sq_item) {
 		int i;