diff --git a/Doc/copyright.tex b/Doc/copyright.tex
index f445c40..d870d3c 100644
--- a/Doc/copyright.tex
+++ b/Doc/copyright.tex
@@ -1,5 +1,5 @@
-Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum,
-Amsterdam, The Netherlands.
+Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
+The Netherlands.
 
 \begin{center}
 All Rights Reserved
diff --git a/Doc/lib.tex b/Doc/lib.tex
index 900cfac..d3901b2 100644
--- a/Doc/lib.tex
+++ b/Doc/lib.tex
@@ -50,6 +50,7 @@
 \input{libmods}			% Built-in modules
 \input{libsys}
 \input{libbltin}		% really __builtin__
+\input{libimp}
 \input{libmain}			% really __main__
 \input{libarray}
 \input{libmath}
@@ -73,7 +74,7 @@
 \input{libgdbm}
 \input{libgrp}
 \input{libposix}
-\input{libposixfile} % XXX this uses lineii which partparse.py doesn't know
+\input{libposixfile}
 \input{libppath}		% really posixpath
 \input{libpwd}
 \input{libselect}
diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex
index 900cfac..d3901b2 100644
--- a/Doc/lib/lib.tex
+++ b/Doc/lib/lib.tex
@@ -50,6 +50,7 @@
 \input{libmods}			% Built-in modules
 \input{libsys}
 \input{libbltin}		% really __builtin__
+\input{libimp}
 \input{libmain}			% really __main__
 \input{libarray}
 \input{libmath}
@@ -73,7 +74,7 @@
 \input{libgdbm}
 \input{libgrp}
 \input{libposix}
-\input{libposixfile} % XXX this uses lineii which partparse.py doesn't know
+\input{libposixfile}
 \input{libppath}		% really posixpath
 \input{libpwd}
 \input{libselect}
diff --git a/Doc/lib/libmath.tex b/Doc/lib/libmath.tex
index c26e849..6c6a90f 100644
--- a/Doc/lib/libmath.tex
+++ b/Doc/lib/libmath.tex
@@ -44,6 +44,7 @@
 \code{floor(\varvars{x})},
 \code{fmod(\varvars{x\, y})},
 \code{frexp(\varvars{x})},
+\code{hypot(\varvars{x\, y})},
 \code{ldexp(\varvars{x\, y})},
 \code{log(\varvars{x})},
 \code{log10(\varvars{x})},
@@ -61,6 +62,9 @@
 return a pair of values, rather than returning their second return
 value through an `output parameter' (there is no such thing in Python).
 
+The \code{hypot} function, which is not standard C, is not available
+on all platforms.
+
 The module also defines two mathematical constants:
 \iftexi
 \begin{datadesc}{pi}
diff --git a/Doc/lib/libmd5.tex b/Doc/lib/libmd5.tex
index edaa727..3e22820 100644
--- a/Doc/lib/libmd5.tex
+++ b/Doc/lib/libmd5.tex
@@ -15,8 +15,8 @@
 to obtain the digest of the string \code{'abc'}, use \ldots
 
 \bcode\begin{verbatim}
->>> from md5 import md5
->>> m = md5()
+>>> import md5
+>>> m = md5.new()
 >>> m.update('abc')
 >>> m.digest()
 '\220\001P\230<\322O\260\326\226?}(\341\177r'
@@ -25,16 +25,22 @@
 More condensed:
 
 \bcode\begin{verbatim}
->>> md5('abc').digest()
+>>> md5.new('abc').digest()
 '\220\001P\230<\322O\260\326\226?}(\341\177r'
 \end{verbatim}\ecode
 
 \renewcommand{\indexsubitem}{(in module md5)}
-\begin{funcdesc}{md5}{\optional{arg}}
+
+\begin{funcdesc}{new}{\optional{arg}}
   Create a new md5-object. If \var{arg} is present, an initial
   \code{update} method is called with \var{arg} as argument.
 \end{funcdesc}
 
+\begin{funcdesc}{md5}{\optional{arg}}
+For backward compatibility reasons, this is an alternative name for the
+\code{new} function.
+\end{funcdesc}
+
 An md5-object has the following methods:
 
 \renewcommand{\indexsubitem}{(md5 method)}
diff --git a/Doc/lib/libposix.tex b/Doc/lib/libposix.tex
index c22f1e0..987f746 100644
--- a/Doc/lib/libposix.tex
+++ b/Doc/lib/libposix.tex
@@ -50,6 +50,12 @@
 Change the mode of \var{path} to the numeric \var{mode}.
 \end{funcdesc}
 
+\begin{funcdesc}{chown}{path\, uid, gid}
+Change the owner and group id of \var{path} to the numeric \var{uid}
+and \var{gid}.
+(Not on MS-DOS.)
+\end{funcdesc}
+
 \begin{funcdesc}{close}{fd}
 Close file descriptor \var{fd}.
 \end{funcdesc}
diff --git a/Doc/lib/libposixfile.tex b/Doc/lib/libposixfile.tex
index 346f576..050ba5a 100644
--- a/Doc/lib/libposixfile.tex
+++ b/Doc/lib/libposixfile.tex
@@ -38,7 +38,7 @@
  builtin function.
 \end{funcdesc}
 
-\begin{funcdesc}{openfile}{fileobject}
+\begin{funcdesc}{fileopen}{fileobject}
  Create a new posixfile object with the given standard file object.
  The resulting object has the same filename and mode as the original
  file object.
diff --git a/Doc/lib/libsocket.tex b/Doc/lib/libsocket.tex
index 60b9d15..1026ef1 100644
--- a/Doc/lib/libsocket.tex
+++ b/Doc/lib/libsocket.tex
@@ -79,7 +79,16 @@
 Return a string containing the hostname of the machine where 
 the Python interpreter is currently executing.  If you want to know the
 current machine's IP address, use
-\code{socket.gethostbyname( socket.gethostname() )} instead.
+\code{socket.gethostbyname(socket.gethostname())} instead.
+\end{funcdesc}
+
+\begin{funcdesc}{gethostbyaddr}{ip_address}
+Return a triple \code{(hostname, aliaslist, ipaddrlist)} where
+\code{hostname} is the primary host name responding to the given
+\var{ip_address}, \code{aliaslist} is a (possibly empty) list of
+alternative host names for the same address, and \code{ipaddrlist} is
+a list of IP addresses for the same interface on the same
+host (most likely containing only a single address).
 \end{funcdesc}
 
 \begin{funcdesc}{getservbyname}{servicename\, protocolname}
diff --git a/Doc/lib/libtypes.tex b/Doc/lib/libtypes.tex
index b5dadaf..1d5beb4 100644
--- a/Doc/lib/libtypes.tex
+++ b/Doc/lib/libtypes.tex
@@ -580,7 +580,14 @@
 
 \begin{funcdesc}{readline}{}
   Read one entire line from the file.  A trailing newline character is
-  kept in the string (but may be absent when a file ends with an
+  kept in the string%
+\footnote{The advantage of leaving the newline on is that an empty string 
+	can be returned to mean \EOF{} without being ambiguous.  Another 
+	advantage is that (in cases where it might matter, e.g. if you 
+	want to make an exact copy of a file while scanning its lines) 
+	you can tell whether the last line of a file ended in a newline
+	or not (yes this happens!).}
+  (but may be absent when a file ends with an
   incomplete line).  An empty string is returned when \EOF{} is hit
   immediately.  Note: unlike \code{stdio}'s \code{fgets()}, the returned
   string contains null characters (\code{'\e 0'}) if they occurred in the
diff --git a/Doc/libmath.tex b/Doc/libmath.tex
index c26e849..6c6a90f 100644
--- a/Doc/libmath.tex
+++ b/Doc/libmath.tex
@@ -44,6 +44,7 @@
 \code{floor(\varvars{x})},
 \code{fmod(\varvars{x\, y})},
 \code{frexp(\varvars{x})},
+\code{hypot(\varvars{x\, y})},
 \code{ldexp(\varvars{x\, y})},
 \code{log(\varvars{x})},
 \code{log10(\varvars{x})},
@@ -61,6 +62,9 @@
 return a pair of values, rather than returning their second return
 value through an `output parameter' (there is no such thing in Python).
 
+The \code{hypot} function, which is not standard C, is not available
+on all platforms.
+
 The module also defines two mathematical constants:
 \iftexi
 \begin{datadesc}{pi}
diff --git a/Doc/libmd5.tex b/Doc/libmd5.tex
index edaa727..3e22820 100644
--- a/Doc/libmd5.tex
+++ b/Doc/libmd5.tex
@@ -15,8 +15,8 @@
 to obtain the digest of the string \code{'abc'}, use \ldots
 
 \bcode\begin{verbatim}
->>> from md5 import md5
->>> m = md5()
+>>> import md5
+>>> m = md5.new()
 >>> m.update('abc')
 >>> m.digest()
 '\220\001P\230<\322O\260\326\226?}(\341\177r'
@@ -25,16 +25,22 @@
 More condensed:
 
 \bcode\begin{verbatim}
->>> md5('abc').digest()
+>>> md5.new('abc').digest()
 '\220\001P\230<\322O\260\326\226?}(\341\177r'
 \end{verbatim}\ecode
 
 \renewcommand{\indexsubitem}{(in module md5)}
-\begin{funcdesc}{md5}{\optional{arg}}
+
+\begin{funcdesc}{new}{\optional{arg}}
   Create a new md5-object. If \var{arg} is present, an initial
   \code{update} method is called with \var{arg} as argument.
 \end{funcdesc}
 
+\begin{funcdesc}{md5}{\optional{arg}}
+For backward compatibility reasons, this is an alternative name for the
+\code{new} function.
+\end{funcdesc}
+
 An md5-object has the following methods:
 
 \renewcommand{\indexsubitem}{(md5 method)}
diff --git a/Doc/libposix.tex b/Doc/libposix.tex
index c22f1e0..987f746 100644
--- a/Doc/libposix.tex
+++ b/Doc/libposix.tex
@@ -50,6 +50,12 @@
 Change the mode of \var{path} to the numeric \var{mode}.
 \end{funcdesc}
 
+\begin{funcdesc}{chown}{path\, uid, gid}
+Change the owner and group id of \var{path} to the numeric \var{uid}
+and \var{gid}.
+(Not on MS-DOS.)
+\end{funcdesc}
+
 \begin{funcdesc}{close}{fd}
 Close file descriptor \var{fd}.
 \end{funcdesc}
diff --git a/Doc/libposixfile.tex b/Doc/libposixfile.tex
index 346f576..050ba5a 100644
--- a/Doc/libposixfile.tex
+++ b/Doc/libposixfile.tex
@@ -38,7 +38,7 @@
  builtin function.
 \end{funcdesc}
 
-\begin{funcdesc}{openfile}{fileobject}
+\begin{funcdesc}{fileopen}{fileobject}
  Create a new posixfile object with the given standard file object.
  The resulting object has the same filename and mode as the original
  file object.
diff --git a/Doc/libsocket.tex b/Doc/libsocket.tex
index 60b9d15..1026ef1 100644
--- a/Doc/libsocket.tex
+++ b/Doc/libsocket.tex
@@ -79,7 +79,16 @@
 Return a string containing the hostname of the machine where 
 the Python interpreter is currently executing.  If you want to know the
 current machine's IP address, use
-\code{socket.gethostbyname( socket.gethostname() )} instead.
+\code{socket.gethostbyname(socket.gethostname())} instead.
+\end{funcdesc}
+
+\begin{funcdesc}{gethostbyaddr}{ip_address}
+Return a triple \code{(hostname, aliaslist, ipaddrlist)} where
+\code{hostname} is the primary host name responding to the given
+\var{ip_address}, \code{aliaslist} is a (possibly empty) list of
+alternative host names for the same address, and \code{ipaddrlist} is
+a list of IP addresses for the same interface on the same
+host (most likely containing only a single address).
 \end{funcdesc}
 
 \begin{funcdesc}{getservbyname}{servicename\, protocolname}
diff --git a/Doc/libtypes.tex b/Doc/libtypes.tex
index b5dadaf..1d5beb4 100644
--- a/Doc/libtypes.tex
+++ b/Doc/libtypes.tex
@@ -580,7 +580,14 @@
 
 \begin{funcdesc}{readline}{}
   Read one entire line from the file.  A trailing newline character is
-  kept in the string (but may be absent when a file ends with an
+  kept in the string%
+\footnote{The advantage of leaving the newline on is that an empty string 
+	can be returned to mean \EOF{} without being ambiguous.  Another 
+	advantage is that (in cases where it might matter, e.g. if you 
+	want to make an exact copy of a file while scanning its lines) 
+	you can tell whether the last line of a file ended in a newline
+	or not (yes this happens!).}
+  (but may be absent when a file ends with an
   incomplete line).  An empty string is returned when \EOF{} is hit
   immediately.  Note: unlike \code{stdio}'s \code{fgets()}, the returned
   string contains null characters (\code{'\e 0'}) if they occurred in the
diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex
index 8d327e0..67848bb 100644
--- a/Doc/ref/ref3.tex
+++ b/Doc/ref/ref3.tex
@@ -470,7 +470,7 @@
 \verb@open()@ built-in function, and also by \verb@posix.popen()@ and
 the \verb@makefile@ method of socket objects.  \verb@sys.stdin@,
 \verb@sys.stdout@ and \verb@sys.stderr@ are file objects corresponding
-the the interpreter's standard input, output and error streams.
+to the interpreter's standard input, output and error streams.
 See the Python Library Reference for methods of file objects and other
 details.
 \obindex{file}
@@ -498,7 +498,7 @@
 Code objects represent executable code.  The difference between a code
 object and a function object is that the function object contains an
 explicit reference to the function's context (the module in which it
-was defined) which a code object contains no context.  There is no way
+was defined) while a code object contains no context.  There is no way
 to execute a bare code object.
 \obindex{code}
 
@@ -622,8 +622,12 @@
 \code{x,__del__} is only called when its reference count reaches zero.
 
 \item[\tt __repr__(self)]
-Called by the \verb@repr()@ built-in function and by conversions
-(reverse quotes) to compute the string representation of an object.
+Called by the \verb@repr()@ built-in function and by string conversions
+(reverse or backward quotes) to compute the string representation of an object.
+\indexii{string}{conversion}
+\indexii{reverse}{quotes}
+\indexii{backward}{quotes}
+\index{back-quotes}
 
 \item[\tt __str__(self)]
 Called by the \verb@str()@ built-in function and by the \verb@print@
diff --git a/Doc/ref/ref4.tex b/Doc/ref/ref4.tex
index c4c4abc..0198117 100644
--- a/Doc/ref/ref4.tex
+++ b/Doc/ref/ref4.tex
@@ -72,9 +72,9 @@
 searched in the list of ``built-in'' names (which is actually the
 global name space of the module \verb@__builtin__@).  When a name is not
 found at all, the \verb@NameError@ exception is raised.%
-\footnote{If the code block contains \verb@exec@ statements or the
-construct \verb@from ... import *@, the semantics of names not
-explicitly mentioned in a \verb@global@ statement change subtly: name
+\footnote{If the code block contains {\tt exec} statements or the
+construct {\tt from \ldots import *}, the semantics of names not
+explicitly mentioned in a {\tt global} statement change subtly: name
 lookup first searches the local name space, then the global one, then
 the built-in one.}
 
diff --git a/Doc/ref/ref5.tex b/Doc/ref/ref5.tex
index a4a7b53..af385aa 100644
--- a/Doc/ref/ref5.tex
+++ b/Doc/ref/ref5.tex
@@ -187,6 +187,9 @@
 
 \subsection{String conversions}
 \indexii{string}{conversion}
+\indexii{reverse}{quotes}
+\indexii{backward}{quotes}
+\index{back-quotes}
 
 A string conversion is a condition list enclosed in reverse (or
 backward) quotes:
@@ -214,6 +217,13 @@
 indirectly.)
 \obindex{recursive}
 
+The built-in function \verb@repr()@ performs exactly the same
+conversion in its argument as enclosing it it reverse quotes does.
+The built-in function \verb@str()@ performs a similar but more
+user-friendly conversion.
+\bifuncindex{repr}
+\bifuncindex{str}
+
 \section{Primaries} \label{primaries}
 \index{primary}
 
diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex
index 53e6c40..70e1a68 100644
--- a/Doc/ref/ref6.tex
+++ b/Doc/ref/ref6.tex
@@ -166,7 +166,7 @@
 
 If the primary is a mapping (dictionary) object, the subscript must
 have a type compatible with the mapping's key type, and the mapping is
-then asked to to create a key/datum pair which maps the subscript to
+then asked to create a key/datum pair which maps the subscript to
 the assigned object.  This can either replace an existing key/value
 pair with the same key value, or insert a new key/value pair (if no
 key with the same value existed).
@@ -369,7 +369,7 @@
 \verb@continue@ may only occur syntactically nested in a \verb@for@ or
 \verb@while@ loop, but not nested in a function or class definition or
 \verb@try@ statement within that loop.\footnote{Except that it may
-currently occur within an \verb@except@ clause.}
+currently occur within an {\tt except} clause.}
 \stindex{for}
 \stindex{while}
 \indexii{loop}{statement}
diff --git a/Doc/ref/ref7.tex b/Doc/ref/ref7.tex
index b8babfb9..f099ae5 100644
--- a/Doc/ref/ref7.tex
+++ b/Doc/ref/ref7.tex
@@ -299,7 +299,7 @@
 following parameters must also have a default value --- this is a
 syntactic restriction that is not expressed by the grammar.%
 \footnote{Currently this is not checked; instead,
-\verb@def f(a=1,b)@ is interpreted as \verb@def f(a=1,b=None)@.}
+{\tt def f(a=1,b)} is interpreted as {\tt def f(a=1,b=None)}.}
 \indexiii{default}{parameter}{value}
 
 Function call semantics are described in section \ref{calls}.  When a
diff --git a/Doc/ref3.tex b/Doc/ref3.tex
index 8d327e0..67848bb 100644
--- a/Doc/ref3.tex
+++ b/Doc/ref3.tex
@@ -470,7 +470,7 @@
 \verb@open()@ built-in function, and also by \verb@posix.popen()@ and
 the \verb@makefile@ method of socket objects.  \verb@sys.stdin@,
 \verb@sys.stdout@ and \verb@sys.stderr@ are file objects corresponding
-the the interpreter's standard input, output and error streams.
+to the interpreter's standard input, output and error streams.
 See the Python Library Reference for methods of file objects and other
 details.
 \obindex{file}
@@ -498,7 +498,7 @@
 Code objects represent executable code.  The difference between a code
 object and a function object is that the function object contains an
 explicit reference to the function's context (the module in which it
-was defined) which a code object contains no context.  There is no way
+was defined) while a code object contains no context.  There is no way
 to execute a bare code object.
 \obindex{code}
 
@@ -622,8 +622,12 @@
 \code{x,__del__} is only called when its reference count reaches zero.
 
 \item[\tt __repr__(self)]
-Called by the \verb@repr()@ built-in function and by conversions
-(reverse quotes) to compute the string representation of an object.
+Called by the \verb@repr()@ built-in function and by string conversions
+(reverse or backward quotes) to compute the string representation of an object.
+\indexii{string}{conversion}
+\indexii{reverse}{quotes}
+\indexii{backward}{quotes}
+\index{back-quotes}
 
 \item[\tt __str__(self)]
 Called by the \verb@str()@ built-in function and by the \verb@print@
diff --git a/Doc/ref4.tex b/Doc/ref4.tex
index c4c4abc..0198117 100644
--- a/Doc/ref4.tex
+++ b/Doc/ref4.tex
@@ -72,9 +72,9 @@
 searched in the list of ``built-in'' names (which is actually the
 global name space of the module \verb@__builtin__@).  When a name is not
 found at all, the \verb@NameError@ exception is raised.%
-\footnote{If the code block contains \verb@exec@ statements or the
-construct \verb@from ... import *@, the semantics of names not
-explicitly mentioned in a \verb@global@ statement change subtly: name
+\footnote{If the code block contains {\tt exec} statements or the
+construct {\tt from \ldots import *}, the semantics of names not
+explicitly mentioned in a {\tt global} statement change subtly: name
 lookup first searches the local name space, then the global one, then
 the built-in one.}
 
diff --git a/Doc/ref5.tex b/Doc/ref5.tex
index a4a7b53..af385aa 100644
--- a/Doc/ref5.tex
+++ b/Doc/ref5.tex
@@ -187,6 +187,9 @@
 
 \subsection{String conversions}
 \indexii{string}{conversion}
+\indexii{reverse}{quotes}
+\indexii{backward}{quotes}
+\index{back-quotes}
 
 A string conversion is a condition list enclosed in reverse (or
 backward) quotes:
@@ -214,6 +217,13 @@
 indirectly.)
 \obindex{recursive}
 
+The built-in function \verb@repr()@ performs exactly the same
+conversion in its argument as enclosing it it reverse quotes does.
+The built-in function \verb@str()@ performs a similar but more
+user-friendly conversion.
+\bifuncindex{repr}
+\bifuncindex{str}
+
 \section{Primaries} \label{primaries}
 \index{primary}
 
diff --git a/Doc/ref6.tex b/Doc/ref6.tex
index 53e6c40..70e1a68 100644
--- a/Doc/ref6.tex
+++ b/Doc/ref6.tex
@@ -166,7 +166,7 @@
 
 If the primary is a mapping (dictionary) object, the subscript must
 have a type compatible with the mapping's key type, and the mapping is
-then asked to to create a key/datum pair which maps the subscript to
+then asked to create a key/datum pair which maps the subscript to
 the assigned object.  This can either replace an existing key/value
 pair with the same key value, or insert a new key/value pair (if no
 key with the same value existed).
@@ -369,7 +369,7 @@
 \verb@continue@ may only occur syntactically nested in a \verb@for@ or
 \verb@while@ loop, but not nested in a function or class definition or
 \verb@try@ statement within that loop.\footnote{Except that it may
-currently occur within an \verb@except@ clause.}
+currently occur within an {\tt except} clause.}
 \stindex{for}
 \stindex{while}
 \indexii{loop}{statement}
diff --git a/Doc/ref7.tex b/Doc/ref7.tex
index b8babfb9..f099ae5 100644
--- a/Doc/ref7.tex
+++ b/Doc/ref7.tex
@@ -299,7 +299,7 @@
 following parameters must also have a default value --- this is a
 syntactic restriction that is not expressed by the grammar.%
 \footnote{Currently this is not checked; instead,
-\verb@def f(a=1,b)@ is interpreted as \verb@def f(a=1,b=None)@.}
+{\tt def f(a=1,b)} is interpreted as {\tt def f(a=1,b=None)}.}
 \indexiii{default}{parameter}{value}
 
 Function call semantics are described in section \ref{calls}.  When a
diff --git a/Doc/texinputs/copyright.tex b/Doc/texinputs/copyright.tex
index f445c40..d870d3c 100644
--- a/Doc/texinputs/copyright.tex
+++ b/Doc/texinputs/copyright.tex
@@ -1,5 +1,5 @@
-Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum,
-Amsterdam, The Netherlands.
+Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
+The Netherlands.
 
 \begin{center}
 All Rights Reserved
