diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex
index b1e1ee9..7b4089d 100644
--- a/Doc/ref/ref3.tex
+++ b/Doc/ref/ref3.tex
@@ -2112,59 +2112,60 @@
 
 \end{itemize}
 
-\subsection{Context Specifiers and Managers\label{context-managers}}
+\subsection{With Statement Contexts and Context Managers\label{context-managers}}
 
 \versionadded{2.5}
 
-A \dfn{context specifier} is an object that defines the runtime
+A \dfn{context manager} is an object that defines the runtime
 context to be established when executing a \keyword{with}
-statement. The context specifier provides a \dfn{context manager}
-which manages the entry into, and the exit from, the desired
-runtime context for the execution of the block of code.  Context
-managers are normally invoked using the \keyword{with} statement
-(described in section~\ref{with}), but can also be used by
-directly invoking their methods.
+statement. The context manager provides a
+\dfn{with statement context object} which manages the entry into,
+and the exit from, the desired runtime context for the execution
+of the block of code.  Context managers are normally invoked using
+the \keyword{with} statement (described in section~\ref{with}), but
+can also be used by directly invoking their methods.
 
 \stindex{with}
 \index{context manager}
-\index{context specifier}
+\index{context (with statement)}
+\index{with statement context}
 
-Typical uses of context specifiers and managers include saving and
+Typical uses of context managers and contexts include saving and
 restoring various kinds of global state, locking and unlocking
 resources, closing opened files, etc.
 
-For more information on context specifiers and context manager objects,
+For more information on context managers and context objects,
 see ``\ulink{Context Types}{../lib/typecontext.html}'' in the
 \citetitle[../lib/lib.html]{Python Library Reference}.
 
-\begin{methoddesc}[context specifier]{__context__}{self}
+\begin{methoddesc}[context manager]{__context__}{self}
 Invoked when the object is used as the context expression of a
 \keyword{with} statement.  The returned object must implement
 \method{__enter__()} and \method{__exit__()} methods.
 
-Context specifiers written in Python can also implement this method
+Context managers written in Python can also implement this method
 using a generator function decorated with the
-\function{contextlib.contextmanager} decorator, as this can be simpler
+\function{contextlib.contextfactory} decorator, as this can be simpler
 than writing individual \method{__enter__()} and \method{__exit__()}
 methods on a separate object when the state to be managed is complex.
 
-Context manager objects also need to implement this method; they are
-required to return themselves (that is, this method will simply
+With statement context objects also need to implement this method; they
+are required to return themselves (that is, this method will simply
 return \var{self}).
 \end{methoddesc}
 
-\begin{methoddesc}[context manager]{__enter__}{self}
-Enter the context managed by this object. The \keyword{with} statement
-will bind this method's return value to the target(s) specified in the
-\keyword{as} clause of the statement, if any.
+\begin{methoddesc}[with statement context]{__enter__}{self}
+Enter the runtime context related to this object. The \keyword{with}
+statement will bind this method's return value to the target(s)
+specified in the \keyword{as} clause of the statement, if any.
 \end{methoddesc}
 
 \begin{methoddesc}[context manager]{__exit__}
 {self, exc_type, exc_value, traceback}
-Exit the context managed by this object. The parameters describe the
-exception that caused the context to be exited. If the context was
-exited without an exception, all three arguments will be
-\constant{None}.
+Exit the runtime context related to this object. The parameters
+describe the exception that caused the context to be exited. If
+the context was exited without an exception, all three arguments
+will be \constant{None}.
 
 If an exception is supplied, and the method wishes to suppress the
 exception (i.e., prevent it from being propagated), it should return a
diff --git a/Doc/ref/ref7.tex b/Doc/ref/ref7.tex
index 0c59847..180e22f 100644
--- a/Doc/ref/ref7.tex
+++ b/Doc/ref/ref7.tex
@@ -315,10 +315,10 @@
 \versionadded{2.5}
 
 The \keyword{with} statement is used to wrap the execution of a block
-with methods defined by a context specifier or manager (see
-section~\ref{context-managers}). This allows common
+with methods defined by a context manager or with statement context
+object (see section~\ref{context-managers}). This allows common
 \keyword{try}...\keyword{except}...\keyword{finally} usage patterns to
-be encapsulated as context specifiers or managers for convenient reuse.
+be encapsulated for convenient reuse.
 
 \begin{productionlist}
   \production{with_stmt}
@@ -329,12 +329,12 @@
 
 \begin{enumerate}
 
-\item The expression is evaluated, to obtain a context specifier.
+\item The context expression is evaluated, to obtain a context manager.
 
-\item The context specifier's \method{__context__()} method is
-invoked to obtain a context manager object.
+\item The context manger's \method{__context__()} method is
+invoked to obtain a with statement context object.
 
-\item The context manager's \method{__enter__()} method is invoked.
+\item The context object's \method{__enter__()} method is invoked.
 
 \item If a target list was included in the \keyword{with}
 statement, the return value from \method{__enter__()} is assigned to it.
@@ -347,7 +347,7 @@
 
 \item The suite is executed.
 
-\item The context manager's \method{__exit__()} method is invoked. If
+\item The context object's \method{__exit__()} method is invoked. If
 an exception caused the suite to be exited, its type, value, and
 traceback are passed as arguments to \method{__exit__()}. Otherwise,
 three \constant{None} arguments are supplied.
