Allow more docstrings to be removed during compilation
diff --git a/Objects/descrobject.c b/Objects/descrobject.c
index 2d926b4..cbf9e16 100644
--- a/Objects/descrobject.c
+++ b/Objects/descrobject.c
@@ -668,23 +668,25 @@
 
 static PyMethodDef proxy_methods[] = {
 	{"has_key",   (PyCFunction)proxy_has_key,    METH_O,
-	 "D.has_key(k) -> 1 if D has a key k, else 0"},
+	 PyDoc_STR("D.has_key(k) -> 1 if D has a key k, else 0")},
 	{"get",       (PyCFunction)proxy_get,        METH_VARARGS,
-	 "D.get(k[,d]) -> D[k] if D.has_key(k), else d.  d defaults to None."},
+	 PyDoc_STR("D.get(k[,d]) -> D[k] if D.has_key(k), else d."
+	 				"  d defaults to None.")},
 	{"keys",      (PyCFunction)proxy_keys,       METH_NOARGS,
-	 "D.keys() -> list of D's keys"},
+	 PyDoc_STR("D.keys() -> list of D's keys")},
 	{"values",    (PyCFunction)proxy_values,     METH_NOARGS,
-	 "D.values() -> list of D's values"},
+	 PyDoc_STR("D.values() -> list of D's values")},
 	{"items",     (PyCFunction)proxy_items,      METH_NOARGS,
-	 "D.items() -> list of D's (key, value) pairs, as 2-tuples"},
+	 PyDoc_STR("D.items() -> list of D's (key, value) pairs, as 2-tuples")},
 	{"iterkeys",  (PyCFunction)proxy_iterkeys,   METH_NOARGS,
-	 "D.iterkeys() -> an iterator over the keys of D"},
+	 PyDoc_STR("D.iterkeys() -> an iterator over the keys of D")},
 	{"itervalues",(PyCFunction)proxy_itervalues, METH_NOARGS,
-	 "D.itervalues() -> an iterator over the values of D"},
+	 PyDoc_STR("D.itervalues() -> an iterator over the values of D")},
 	{"iteritems", (PyCFunction)proxy_iteritems,  METH_NOARGS,
-	 "D.iteritems() -> an iterator over the (key, value) items of D"},
+	 PyDoc_STR("D.iteritems() ->"
+	 	   " an iterator over the (key, value) items of D")},
 	{"copy",      (PyCFunction)proxy_copy,       METH_NOARGS,
-	 "D.copy() -> a shallow copy of D"},
+	 PyDoc_STR("D.copy() -> a shallow copy of D")},
 	{0}
 };
 
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 812c66f..62f2822 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -1577,9 +1577,9 @@
 
 static PyMethodDef type_methods[] = {
 	{"mro", (PyCFunction)mro_external, METH_NOARGS,
-	 "mro() -> list\nreturn a type's method resolution order"},
+	 PyDoc_STR("mro() -> list\nreturn a type's method resolution order")},
 	{"__subclasses__", (PyCFunction)type_subclasses, METH_NOARGS,
-	 "__subclasses__() -> list of immediate subclasses"},
+	 PyDoc_STR("__subclasses__() -> list of immediate subclasses")},
 	{0}
 };
 
@@ -1903,7 +1903,8 @@
 }
 
 static PyMethodDef object_methods[] = {
-	{"__reduce__", object_reduce, METH_NOARGS, "helper for pickle"},
+	{"__reduce__", object_reduce, METH_NOARGS, 
+	 PyDoc_STR("helper for pickle")},
 	{0}
 };
 
@@ -1929,7 +1930,7 @@
 	PyObject_GenericSetAttr,		/* tp_setattro */
 	0,					/* tp_as_buffer */
 	Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
-	"The most base type",			/* tp_doc */
+	PyDoc_STR("The most base type"),	/* tp_doc */
 	0,					/* tp_traverse */
 	0,					/* tp_clear */
 	0,					/* tp_richcompare */
@@ -2976,7 +2977,8 @@
 
 static struct PyMethodDef tp_new_methoddef[] = {
 	{"__new__", (PyCFunction)tp_new_wrapper, METH_KEYWORDS,
-	 "T.__new__(S, ...) -> a new object with type S, a subtype of T"},
+	 PyDoc_STR("T.__new__(S, ...) -> "
+	 	   "a new object with type S, a subtype of T")},
 	{0}
 };