* rangeobject.{c,h}, bltinmodule.c: removed non-essential ops from range
  object.
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 6069ae0..5183069 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -922,7 +922,7 @@
 	if (len < 0)
 		len = 0;
 
-	return newrangeobject(start, len, step, 1);
+	return newrangeobject(start, len, step);
 }
 
 static object *
@@ -1280,16 +1280,10 @@
 {
 	object *result;
 	register int i, j;
-	int len = gettuplesize(tuple), shared = 0;
+	int len = gettuplesize(tuple);
 
-	if (tuple->ob_refcnt == 1) {
-		result = tuple;
-		shared = 1;
-		/* defer INCREF (resizetuple wants it to be one) */
-	}
-	else
-		if ((result = newtupleobject(len)) == NULL)
-			return NULL;
+	if ((result = newtupleobject(len)) == NULL)
+		return NULL;
 
 	for (i = j = 0; i < len; ++i) {
 		object *item, *good;
@@ -1322,14 +1316,10 @@
 	if (resizetuple(&result, j, 0) < 0)
 		return NULL;
 
-	if (shared)
-		INCREF(result);
-
 	return result;
 
 Fail_1:
-	if (!shared)
-		DECREF(result);
+	DECREF(result);
 	return NULL;
 }
 
@@ -1343,28 +1333,15 @@
 {
 	object *result;
 	register int i, j;
-	int len = getstringsize(strobj), shared = 0;
+	int len = getstringsize(strobj);
 
-	if (strobj->ob_refcnt == 1) {
-		result = strobj;
-		shared = 1;
-		/* defer INCREF (resizestring wants it to be one) */
-
-		if (func == None) {
-			INCREF(result);
-			return result;
-		}
+	if (func == None) {
+		/* No character is ever false -- share input string */
+		INCREF(result);
+		return result;
 	}
-	else {
-		if ((result = newsizedstringobject(NULL, len)) == NULL)
-			return NULL;
-
-		if (func == None) {
-			strcpy(GETSTRINGVALUE((stringobject *)result),
-			       GETSTRINGVALUE((stringobject *)strobj));
-			return result;
-		}
-	}
+	if ((result = newsizedstringobject(NULL, len)) == NULL)
+		return NULL;
 
 	for (i = j = 0; i < len; ++i) {
 		object *item, *arg, *good;
@@ -1391,13 +1368,9 @@
 	if (resizestring(&result, j) < 0)
 		return NULL;
 
-	if (shared)
-		INCREF(result);
-
 	return result;
 
 Fail_1:
-	if (!shared)
-		DECREF(result);
+	DECREF(result);
 	return NULL;
 }