diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index c79a8c4..5ea0489 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -17,7 +17,8 @@
 
 .. function:: all(iterable)
 
-   Return True if all elements of the *iterable* are true. Equivalent to::
+   Return True if all elements of the *iterable* are true (or if the iterable
+   is empty).  Equivalent to::
 
       def all(iterable):
           for element in iterable:
@@ -28,7 +29,8 @@
 
 .. function:: any(iterable)
 
-   Return True if any element of the *iterable* is true. Equivalent to::
+   Return True if any element of the *iterable* is true.  If the iterable
+   is empty, return False.  Equivalent to::
 
       def any(iterable):
           for element in iterable:
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 2b66461..d880157 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -537,12 +537,12 @@
 
 .. method:: Condition.notify()
 
-   Wake up a thread waiting on this condition, if any. Wait until notified or until
-   a timeout occurs. If the calling thread has not acquired the lock when this
-   method is called, a :exc:`RuntimeError` is raised.
+   Wake up a thread waiting on this condition, if any.  If the calling thread
+   has not acquired the lock when this method is called, a :exc:`RuntimeError`
+   is raised.
 
-   This method wakes up one of the threads waiting for the condition variable, if
-   any are waiting; it is a no-op if no threads are waiting.
+   This method wakes up one of the threads waiting for the condition variable,
+   if any are waiting; it is a no-op if no threads are waiting.
 
    The current implementation wakes up exactly one thread, if any are waiting.
    However, it's not safe to rely on this behavior.  A future, optimized
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index 2236286..51490c4 100644
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -1220,9 +1220,9 @@
 
 .. function:: screensize(canvwidth=None, canvheight=None, bg=None)
 
-   :param canvwidth: positive integer, new width of canvas in pixels
-   :param canvheight: positive integer, new height of canvas in pixels
-   :param bg: colorstring or color-tupel, new background color
+   :param canvwidth: positive integer, new width of canvas in pixels :param
+   canvheight: positive integer, new height of canvas in pixels :param bg:
+   colorstring or color-tuple, new background color
 
    If no arguments are given, return current (canvaswidth, canvasheight).  Else
    resize the canvas the turtles are drawing on.  Do not alter the drawing
diff --git a/Objects/abstract.c b/Objects/abstract.c
index a4d3964..7679d5b 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -135,7 +135,7 @@
 					  "be integer, not '%.200s'", key);
 	}
 
-	return type_error("'%.200s' object is unsubscriptable", o);
+	return type_error("'%.200s' object is not subscriptable", o);
 }
 
 int
