Document that the |mode| parameter to open() is optional and explain how
the default value is determined.
diff --git a/Doc/lib/libaifc.tex b/Doc/lib/libaifc.tex
index e2e3607..9ba46ed 100644
--- a/Doc/lib/libaifc.tex
+++ b/Doc/lib/libaifc.tex
@@ -33,15 +33,16 @@
 
 Module \module{aifc} defines the following function:
 
-\begin{funcdesc}{open}{file, mode}
+\begin{funcdesc}{open}{file\optional{, mode}}
 Open an AIFF or AIFF-C file and return an object instance with
-methods that are described below.  The argument file is either a
-string naming a file or a file object.  The mode is either the string
-\code{'r'} when the file must be opened for reading, or \code{'w'}
-when the file must be opened for writing.  When used for writing, the
-file object should be seekable, unless you know ahead of time how many
-samples you are going to write in total and use
-\method{writeframesraw()} and \method{setnframes()}.
+methods that are described below.  The argument \var{file} is either a
+string naming a file or a file object.  \var{mode} must be \code{'r'}
+or \code{'rb'} when the file must be opened for reading, or \code{'w'} 
+or \code{'wb'} when the file must be opened for writing.  If omitted,
+\code{\var{file}.mode} is used if it exists, otherwise \code{'rb'} is
+used.  When used for writing, the file object should be seekable,
+unless you know ahead of time how many samples you are going to write
+in total and use \method{writeframesraw()} and \method{setnframes()}.
 \end{funcdesc}
 
 Objects returned by \function{open()} when a file is opened for
diff --git a/Doc/lib/libwave.tex b/Doc/lib/libwave.tex
index 44af40e..cac09d3 100644
--- a/Doc/lib/libwave.tex
+++ b/Doc/lib/libwave.tex
@@ -12,7 +12,7 @@
 
 The \module{wave} module defines the following function and exception:
 
-\begin{funcdesc}{open}{file, mode}
+\begin{funcdesc}{open}{file\optional{, mode}}
 If \var{file} is a string, open the file by that name, other treat it
 as a seekable file-like object. \var{mode} can be any of
 \begin{description}
@@ -23,7 +23,10 @@
 
 A \var{mode} of \code{'r'} or \code{'rb'} returns a \class{Wave_read}
 object, while a \var{mode} of \code{'w'} or \code{'wb'} returns
-a \class{Wave_write} object.
+a \class{Wave_write} object.  If \var{mode} is omitted and a file-like 
+object is passed as \var{file}, \code{\var{file}.mode} is used as the
+default value for \var{mode} (the \character{b} flag is still added if 
+necessary).
 \end{funcdesc}
 
 \begin{funcdesc}{openfp}{file, mode}