Patch #825679: Clarify semantics of .isfoo on empty strings.
Backported to 2.3.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index f0480fb..03559da 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -4897,7 +4897,7 @@
 PyDoc_STRVAR(isupper__doc__,
 "S.isupper() -> bool\n\
 \n\
-Return True if  all cased characters in S are uppercase and there is\n\
+Return True if all cased characters in S are uppercase and there is\n\
 at least one cased character in S, False otherwise.");
 
 static PyObject*
@@ -4931,9 +4931,10 @@
 PyDoc_STRVAR(istitle__doc__,
 "S.istitle() -> bool\n\
 \n\
-Return True if S is a titlecased string, i.e. upper- and titlecase\n\
-characters may only follow uncased characters and lowercase characters\n\
-only cased ones. Return False otherwise.");
+Return True if S is a titlecased string and there is at least one\n\
+character in S, i.e. upper- and titlecase characters may only\n\
+follow uncased characters and lowercase characters only cased ones.\n\
+Return False otherwise.");
 
 static PyObject*
 unicode_istitle(PyUnicodeObject *self)
@@ -4978,8 +4979,8 @@
 PyDoc_STRVAR(isspace__doc__,
 "S.isspace() -> bool\n\
 \n\
-Return True if there are only whitespace characters in S,\n\
-False otherwise.");
+Return True if all characters in S are whitespace\n\
+and there is at least one character in S, False otherwise.");
 
 static PyObject*
 unicode_isspace(PyUnicodeObject *self)
@@ -5007,7 +5008,7 @@
 PyDoc_STRVAR(isalpha__doc__,
 "S.isalpha() -> bool\n\
 \n\
-Return True if  all characters in S are alphabetic\n\
+Return True if all characters in S are alphabetic\n\
 and there is at least one character in S, False otherwise.");
 
 static PyObject*
@@ -5036,7 +5037,7 @@
 PyDoc_STRVAR(isalnum__doc__,
 "S.isalnum() -> bool\n\
 \n\
-Return True if  all characters in S are alphanumeric\n\
+Return True if all characters in S are alphanumeric\n\
 and there is at least one character in S, False otherwise.");
 
 static PyObject*
@@ -5094,8 +5095,8 @@
 PyDoc_STRVAR(isdigit__doc__,
 "S.isdigit() -> bool\n\
 \n\
-Return True if there are only digit characters in S,\n\
-False otherwise.");
+Return True if all characters in S are digits\n\
+and there is at least one character in S, False otherwise.");
 
 static PyObject*
 unicode_isdigit(PyUnicodeObject *self)