Eliminate DONT_SHARE_SHORT_STRINGS.
diff --git a/Misc/NEWS b/Misc/NEWS
index 67dedd1..c852056 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -91,9 +91,9 @@
 
 - On Unix, a shared libpython2.3.so can be created with --enable-shared.
 
-- References to the CACHE_HASH and INTERN_STRINGS preprocessor symbols
-  were eliminated.  They were always defined, and the internal features
-  they enabled stopped being experimental long ago.
+- All uses of the CACHE_HASH, INTERN_STRINGS, and DONT_SHARE_SHORT_STRINGS
+  preprocessor symbols were eliminated.  The internal decisions they
+  controlled stopped being experimental long ago.
 
 C API
 
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index d8e6ff8..144c5b0 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -14,9 +14,7 @@
 #endif
 
 static PyStringObject *characters[UCHAR_MAX + 1];
-#ifndef DONT_SHARE_SHORT_STRINGS
 static PyStringObject *nullstring;
-#endif
 
 /*
    For both PyString_FromString() and PyString_FromStringAndSize(), the 
@@ -47,7 +45,6 @@
 PyString_FromStringAndSize(const char *str, int size)
 {
 	register PyStringObject *op;
-#ifndef DONT_SHARE_SHORT_STRINGS
 	if (size == 0 && (op = nullstring) != NULL) {
 #ifdef COUNT_ALLOCS
 		null_strings++;
@@ -64,7 +61,6 @@
 		Py_INCREF(op);
 		return (PyObject *)op;
 	}
-#endif /* DONT_SHARE_SHORT_STRINGS */
 
 	/* PyObject_NewVar is inlined */
 	op = (PyStringObject *)
@@ -77,7 +73,7 @@
 	if (str != NULL)
 		memcpy(op->ob_sval, str, size);
 	op->ob_sval[size] = '\0';
-#ifndef DONT_SHARE_SHORT_STRINGS
+	/* share short strings */
 	if (size == 0) {
 		PyObject *t = (PyObject *)op;
 		PyString_InternInPlace(&t);
@@ -91,7 +87,6 @@
 		characters[*str & UCHAR_MAX] = op;
 		Py_INCREF(op);
 	}
-#endif
 	return (PyObject *) op;
 }
 
@@ -108,7 +103,6 @@
 			"string is too long for a Python string");
 		return NULL;
 	}
-#ifndef DONT_SHARE_SHORT_STRINGS
 	if (size == 0 && (op = nullstring) != NULL) {
 #ifdef COUNT_ALLOCS
 		null_strings++;
@@ -123,7 +117,6 @@
 		Py_INCREF(op);
 		return (PyObject *)op;
 	}
-#endif /* DONT_SHARE_SHORT_STRINGS */
 
 	/* PyObject_NewVar is inlined */
 	op = (PyStringObject *)
@@ -134,7 +127,7 @@
 	op->ob_shash = -1;
 	op->ob_sinterned = NULL;
 	memcpy(op->ob_sval, str, size+1);
-#ifndef DONT_SHARE_SHORT_STRINGS
+	/* share short strings */
 	if (size == 0) {
 		PyObject *t = (PyObject *)op;
 		PyString_InternInPlace(&t);
@@ -148,7 +141,6 @@
 		characters[*str & UCHAR_MAX] = op;
 		Py_INCREF(op);
 	}
-#endif
 	return (PyObject *) op;
 }
 
@@ -3637,10 +3629,8 @@
 		Py_XDECREF(characters[i]);
 		characters[i] = NULL;
 	}
-#ifndef DONT_SHARE_SHORT_STRINGS
 	Py_XDECREF(nullstring);
 	nullstring = NULL;
-#endif
 	if (interned) {
 		int pos, changed;
 		PyObject *key, *value;