Added mimify docs (Sjoerd).
diff --git a/Doc/Makefile b/Doc/Makefile
index 9a81956..7fc78ae 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -112,7 +112,7 @@
     libuser.tex libanydbm.tex librandom.tex libsite.tex libwhichdb.tex \
     libbase64.tex libfnmatch.tex libquopri.tex libzlib.tex libsocksvr.tex \
     libmailbox.tex libcommands.tex libcmath.tex libni.tex libgzip.tex \
-    libpprint.tex libcode.tex
+    libpprint.tex libcode.tex libmimify.tex
 
 # Library document
 lib.dvi: $(LIBFILES)
diff --git a/Doc/lib.tex b/Doc/lib.tex
index 2c7d6d0..2980d64 100644
--- a/Doc/lib.tex
+++ b/Doc/lib.tex
@@ -168,6 +168,7 @@
 \input{libquopri}
 \input{libsocksvr}
 \input{libmailbox}
+\input{libmimify}
 
 \input{librestricted}
 \input{librexec}
diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex
index 2c7d6d0..2980d64 100644
--- a/Doc/lib/lib.tex
+++ b/Doc/lib/lib.tex
@@ -168,6 +168,7 @@
 \input{libquopri}
 \input{libsocksvr}
 \input{libmailbox}
+\input{libmimify}
 
 \input{librestricted}
 \input{librexec}
diff --git a/Doc/lib/libmimify.tex b/Doc/lib/libmimify.tex
new file mode 100644
index 0000000..4ce33df
--- /dev/null
+++ b/Doc/lib/libmimify.tex
@@ -0,0 +1,75 @@
+\section{Standard Module \sectcode{mimify}}
+\stmodindex{mimify}
+\renewcommand{\indexsubitem}{(in module mimify)}
+
+The mimify module defines two functions to convert mail messages to
+and from MIME format.  The mail message can be either a simple message
+or a so-called multipart message.  Each part is treated separately.
+Mimifying (a part of) a message entails encoding the message as
+quoted-printable if it contains any characters that cannot be
+represented using 7-bit ASCII.  Unmimifying (a part of) a message
+entails undoing the quoted-printable encoding.  Mimify and unmimify
+are especially useful when a message has to be edited before being
+sent.  Typical use would be:
+
+\begin{verbatim}
+unmimify message
+edit message
+mimify message
+send message
+\end{verbatim}
+
+The modules defines the following user-callable functions and
+user-settable variables:
+
+\begin{funcdesc}{mimify}{infile, outfile}
+Copy the message in \var{infile} to \var{outfile}, converting parts to
+quoted-printable and adding MIME mail headers when necessary.
+\var{infile} and \var{outfile} can be file objects (actually, any
+object that has a \code{readline} method (for \var{infile}) or a
+\code{write} method (for \var{outfile})) or strings naming the files.
+If \var{infile} and \var{outfile} are both strings, they may have the
+same value.
+\end{funcdesc}
+
+\begin{funcdesc}{unmimify}{infile, outfile, decode_base64 = 0} 
+Copy the message in \var{infile} to \var{outfile}, decoding all
+quoted-printable parts.  \var{infile} and \var{outfile} can be file
+objects (actually, any object that has a \code{readline} method (for
+\var{infile}) or a \code{write} method (for \var{outfile})) or strings
+naming the files.  If \var{infile} and \var{outfile} are both strings,
+they may have the same value.
+If the \var{decode_base64} argument is provided and tests true, any
+parts that are coded in the base64 encoding are decoded as well.
+\end{funcdesc}
+
+\begin{datadesc}{MAXLEN}
+By default, a part will be encoded as quoted-printable when it
+contains any non-ASCII characters (i.e., characters with the 8th bit
+set), or if there are any lines longer than \code{MAXLEN} characters
+(default value 200).  
+\end{datadesc}
+
+\begin{datadesc}{CHARSET}
+When not specified in the mail headers, a character set must be filled
+in.  The string used is stored in \code{CHARSET}, and the default
+value is ISO-8859-1 (also known as Latin1 (latin-one)).
+\end{datadesc}
+
+This module can also be used from the command line.  Usage is as
+follows:
+\begin{verbatim}
+mimify.py -e [-l length] [infile [outfile]]
+mimify.py -d [-b] [infile [outfile]]
+\end{verbatim}
+to encode (mimify) and decode (unmimify) respectively.  \var{infile}
+defaults to standard input, \var{outfile} defaults to standard output.
+The same file can be specified for input and output.
+
+If the \code{-l} option is given when encoding, if there are any lines
+longer than the specified \var{length}, the containing part will be
+encoded.
+
+If the \code{-b} option is given when decoding, any base64 parts will
+be decoded as well.
+
diff --git a/Doc/lib/libwww.tex b/Doc/lib/libwww.tex
index c072725..2558e94 100644
--- a/Doc/lib/libwww.tex
+++ b/Doc/lib/libwww.tex
@@ -80,4 +80,7 @@
 \item[mailbox]
 --- Read various mailbox formats.
 
+\item[mimify]
+--- Mimification and unmimification of mail messages.
+
 \end{description}
diff --git a/Doc/libmimify.tex b/Doc/libmimify.tex
new file mode 100644
index 0000000..4ce33df
--- /dev/null
+++ b/Doc/libmimify.tex
@@ -0,0 +1,75 @@
+\section{Standard Module \sectcode{mimify}}
+\stmodindex{mimify}
+\renewcommand{\indexsubitem}{(in module mimify)}
+
+The mimify module defines two functions to convert mail messages to
+and from MIME format.  The mail message can be either a simple message
+or a so-called multipart message.  Each part is treated separately.
+Mimifying (a part of) a message entails encoding the message as
+quoted-printable if it contains any characters that cannot be
+represented using 7-bit ASCII.  Unmimifying (a part of) a message
+entails undoing the quoted-printable encoding.  Mimify and unmimify
+are especially useful when a message has to be edited before being
+sent.  Typical use would be:
+
+\begin{verbatim}
+unmimify message
+edit message
+mimify message
+send message
+\end{verbatim}
+
+The modules defines the following user-callable functions and
+user-settable variables:
+
+\begin{funcdesc}{mimify}{infile, outfile}
+Copy the message in \var{infile} to \var{outfile}, converting parts to
+quoted-printable and adding MIME mail headers when necessary.
+\var{infile} and \var{outfile} can be file objects (actually, any
+object that has a \code{readline} method (for \var{infile}) or a
+\code{write} method (for \var{outfile})) or strings naming the files.
+If \var{infile} and \var{outfile} are both strings, they may have the
+same value.
+\end{funcdesc}
+
+\begin{funcdesc}{unmimify}{infile, outfile, decode_base64 = 0} 
+Copy the message in \var{infile} to \var{outfile}, decoding all
+quoted-printable parts.  \var{infile} and \var{outfile} can be file
+objects (actually, any object that has a \code{readline} method (for
+\var{infile}) or a \code{write} method (for \var{outfile})) or strings
+naming the files.  If \var{infile} and \var{outfile} are both strings,
+they may have the same value.
+If the \var{decode_base64} argument is provided and tests true, any
+parts that are coded in the base64 encoding are decoded as well.
+\end{funcdesc}
+
+\begin{datadesc}{MAXLEN}
+By default, a part will be encoded as quoted-printable when it
+contains any non-ASCII characters (i.e., characters with the 8th bit
+set), or if there are any lines longer than \code{MAXLEN} characters
+(default value 200).  
+\end{datadesc}
+
+\begin{datadesc}{CHARSET}
+When not specified in the mail headers, a character set must be filled
+in.  The string used is stored in \code{CHARSET}, and the default
+value is ISO-8859-1 (also known as Latin1 (latin-one)).
+\end{datadesc}
+
+This module can also be used from the command line.  Usage is as
+follows:
+\begin{verbatim}
+mimify.py -e [-l length] [infile [outfile]]
+mimify.py -d [-b] [infile [outfile]]
+\end{verbatim}
+to encode (mimify) and decode (unmimify) respectively.  \var{infile}
+defaults to standard input, \var{outfile} defaults to standard output.
+The same file can be specified for input and output.
+
+If the \code{-l} option is given when encoding, if there are any lines
+longer than the specified \var{length}, the containing part will be
+encoded.
+
+If the \code{-b} option is given when decoding, any base64 parts will
+be decoded as well.
+
diff --git a/Doc/libwww.tex b/Doc/libwww.tex
index c072725..2558e94 100644
--- a/Doc/libwww.tex
+++ b/Doc/libwww.tex
@@ -80,4 +80,7 @@
 \item[mailbox]
 --- Read various mailbox formats.
 
+\item[mimify]
+--- Mimification and unmimification of mail messages.
+
 \end{description}