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}
 };
 
