diff --git a/Doc/lib/libal.tex b/Doc/lib/libal.tex
index e1b1e6f..1936601 100644
--- a/Doc/lib/libal.tex
+++ b/Doc/lib/libal.tex
@@ -1,7 +1,8 @@
 \section{\module{al} ---
-         Audio functions on the SGI.}
-\declaremodule{builtin}{al}
+         Audio functions on the SGI}
 
+\declaremodule{builtin}{al}
+  \platform{IRIX}
 \modulesynopsis{Audio functions on the SGI.}
 
 
@@ -13,9 +14,9 @@
 specific function is available on your platform.
 
 All functions and methods defined in this module are equivalent to
-the \C{} functions with \samp{AL} prefixed to their name.
+the C functions with \samp{AL} prefixed to their name.
 
-Symbolic constants from the \C{} header file \code{<audio.h>} are
+Symbolic constants from the C header file \code{<audio.h>} are
 defined in the standard module \module{AL}\refstmodindex{AL}, see
 below.
 
@@ -163,15 +164,16 @@
 
 
 \section{\module{AL} ---
-         Constants used with the \module{al} module.}
-\declaremodule{standard}{AL}
+         Constants used with the \module{al} module}
 
+\declaremodule{standard}{AL}
+  \platform{IRIX}
 \modulesynopsis{Constants used with the \module{al} module.}
 
 
 This module defines symbolic constants needed to use the built-in
 module \module{al} (see above); they are equivalent to those defined
-in the \C{} header file \code{<audio.h>} except that the name prefix
+in the C header file \code{<audio.h>} except that the name prefix
 \samp{AL_} is omitted.  Read the module source for a complete list of
 the defined names.  Suggested use:
 
diff --git a/Doc/lib/libamoeba.tex b/Doc/lib/libamoeba.tex
index 3d8fd14..16c350d 100644
--- a/Doc/lib/libamoeba.tex
+++ b/Doc/lib/libamoeba.tex
@@ -1,9 +1,10 @@
 \chapter{Amoeba Specific Services}
 
 \section{\module{amoeba} ---
-         Amoeba system support.}
-\declaremodule{builtin}{amoeba}
+         Amoeba system support}
 
+\declaremodule{builtin}{amoeba}
+  \platform{Amoeba}
 \modulesynopsis{Functions for the Amoeba operating system.}
 
 
@@ -12,13 +13,13 @@
 Amoeba operations.  RPC errors and other Amoeba errors are reported as
 the exception \code{amoeba.error = 'amoeba.error'}.
 
-The module \code{amoeba} defines the following items:
+The module \module{amoeba} defines the following items:
 
 \begin{funcdesc}{name_append}{path, cap}
 Stores a capability in the Amoeba directory tree.
 Arguments are the pathname (a string) and the capability (a capability
 object as returned by
-\code{name_lookup()}).
+\function{name_lookup()}).
 \end{funcdesc}
 
 \begin{funcdesc}{name_delete}{path}
@@ -38,11 +39,11 @@
 Replaces a capability in the Amoeba directory tree.
 Arguments are the pathname and the new capability.
 (This differs from
-\code{name_append()}
+\function{name_append()}
 in the behavior when the pathname already exists:
-\code{name_append()}
+\function{name_append()}
 finds this an error while
-\code{name_replace()}
+\function{name_replace()}
 allows it, as its name suggests.)
 \end{funcdesc}
 
@@ -62,7 +63,7 @@
 The exception raised when an Amoeba function returns an error.
 The value accompanying this exception is a pair containing the numeric
 error code and the corresponding string, as returned by the C function
-\code{err_why()}.
+\cfunction{err_why()}.
 \end{excdesc}
 
 \begin{funcdesc}{timeout}{msecs}
diff --git a/Doc/lib/libcd.tex b/Doc/lib/libcd.tex
index 9c0e0ce..6f48fcf 100644
--- a/Doc/lib/libcd.tex
+++ b/Doc/lib/libcd.tex
@@ -2,6 +2,7 @@
          CD-ROM access on SGI systems}
 
 \declaremodule{builtin}{cd}
+  \platform{IRIX}
 \modulesynopsis{Interface to the CD-ROM on Silicon Graphics systems.}
 
 
diff --git a/Doc/lib/libcrypt.tex b/Doc/lib/libcrypt.tex
index 1702324..8006f04 100644
--- a/Doc/lib/libcrypt.tex
+++ b/Doc/lib/libcrypt.tex
@@ -1,8 +1,12 @@
 \section{\module{crypt} ---
-         The \cfunction{crypt()} function used to check \UNIX{} passwords.}
-\declaremodule{builtin}{crypt}
+         Function used to check \UNIX{} passwords}
 
-\modulesynopsis{The \cfunction{crypt()} function used to check \UNIX{} passwords.}
+\declaremodule{builtin}{crypt}
+  \platform{UNIX}
+\modulesynopsis{The \cfunction{crypt()} function used to check \UNIX{}
+  passwords.}
+\moduleauthor{Steven D. Majewski}{sdm7g@virginia.edu}
+\sectionauthor{Steven D. Majewski}{sdm7g@virginia.edu}
 
 
 This module implements an interface to the \manpage{crypt}{3} routine,
@@ -16,9 +20,9 @@
 \var{word} will usually be a user's password.  \var{salt} is a
 2-character string which will be used to select one of 4096 variations
 of DES\indexii{cipher}{DES}.  The characters in \var{salt} must be
-either \code{.}, \code{/}, or an alphanumeric character.  Returns the
-hashed password as a string, which will be composed of characters from
-the same alphabet as the salt.
+either \character{.}, \character{/}, or an alphanumeric character.
+Returns the hashed password as a string, which will be composed of
+characters from the same alphabet as the salt.
 \end{funcdesc}
 
 The module and documentation were written by Steve Majewski.
diff --git a/Doc/lib/libdbm.tex b/Doc/lib/libdbm.tex
index 8f64728..09ce0df 100644
--- a/Doc/lib/libdbm.tex
+++ b/Doc/lib/libdbm.tex
@@ -2,6 +2,7 @@
          Simple ``database'' interface}
 
 \declaremodule{builtin}{dbm}
+  \platform{UNIX}
 \modulesynopsis{The standard ``database'' interface, based on ndbm.}
 
 
@@ -9,7 +10,7 @@
 \code{(n)dbm} library.  Dbm objects behave like mappings
 (dictionaries), except that keys and values are always strings.
 Printing a dbm object doesn't print the keys and values, and the
-\code{items()} and \code{values()} methods are not supported.
+\method{items()} and \method{values()} methods are not supported.
 
 See also the \refmodule{gdbm}\refbimodindex{gdbm} module, which
 provides a similar interface using the GNU GDBM library.
diff --git a/Doc/lib/libfcntl.tex b/Doc/lib/libfcntl.tex
index c64cc83..7003c63 100644
--- a/Doc/lib/libfcntl.tex
+++ b/Doc/lib/libfcntl.tex
@@ -1,8 +1,9 @@
 % Manual text by Jaap Vermeulen
 \section{\module{fcntl} ---
-         The \function{fcntl()} and \function{ioctl()} system calls.}
-\declaremodule{builtin}{fcntl}
+         The \function{fcntl()} and \function{ioctl()} system calls}
 
+\declaremodule{builtin}{fcntl}
+  \platform{UNIX}
 \modulesynopsis{The \function{fcntl()} and \function{ioctl()} system calls.}
 
 \indexii{UNIX@\UNIX{}}{file control}
@@ -24,10 +25,10 @@
   is optional, and defaults to the integer value \code{0}.  When
   present, it can either be an integer value, or a string.  With
   the argument missing or an integer value, the return value of this
-  function is the integer return value of the \C{} \cfunction{fcntl()}
+  function is the integer return value of the C \cfunction{fcntl()}
   call.  When the argument is a string it represents a binary
   structure, e.g.\ created by \function{struct.pack()}. The binary
-  data is copied to a buffer whose address is passed to the \C{}
+  data is copied to a buffer whose address is passed to the C
   \cfunction{fcntl()} call.  The return value after a successful call
   is the contents of the buffer, converted to a string object.  In
   case the \cfunction{fcntl()} fails, an \exception{IOError} is
@@ -54,7 +55,7 @@
 
 If the library modules \module{FCNTL}\refstmodindex{FCNTL} or
 \module{IOCTL}\refstmodindex{IOCTL} are missing, you can find the
-opcodes in the \C{} include files \code{<sys/fcntl.h>} and
+opcodes in the C include files \code{<sys/fcntl.h>} and
 \code{<sys/ioctl.h>}.  You can create the modules yourself with the
 \program{h2py} script, found in the \file{Tools/scripts/} directory.
 
diff --git a/Doc/lib/libfl.tex b/Doc/lib/libfl.tex
index 3ff90a4..ef9d841 100644
--- a/Doc/lib/libfl.tex
+++ b/Doc/lib/libfl.tex
@@ -1,7 +1,8 @@
 \section{\module{fl} ---
-         FORMS library interface for GUI applications.}
-\declaremodule{builtin}{fl}
+         FORMS library interface for GUI applications}
 
+\declaremodule{builtin}{fl}
+  \platform{IRIX}
 \modulesynopsis{FORMS library interface for GUI applications.}
 
 
@@ -11,9 +12,9 @@
 \samp{ftp.cs.ruu.nl}, directory \file{SGI/FORMS}.  It was last tested
 with version 2.0b.
 
-Most functions are literal translations of their \C{} equivalents,
+Most functions are literal translations of their C equivalents,
 dropping the initial \samp{fl_} from their name.  Constants used by
-the library are defined in module \module{FL} described below.
+the library are defined in module \refmodule{FL} described below.
 
 The creation of objects is a little different in Python than in C:
 instead of the `current form' maintained by the library to which new
@@ -45,7 +46,7 @@
 
 Module \module{fl} defines the following functions.  For more
 information about what they do, see the description of the equivalent
-\C{} function in the FORMS documentation:
+C function in the FORMS documentation:
 
 \begin{funcdesc}{make_form}{type, width, height}
 Create a form with given type, width and height.  This returns a
@@ -73,7 +74,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{get_rgbmode}{}
-Return the current rgb mode.  This is the value of the \C{} global
+Return the current rgb mode.  This is the value of the C global
 variable \cdata{fl_rgbmode}.
 \end{funcdesc}
 
@@ -143,7 +144,7 @@
 \label{form-objects}
 
 Form objects (returned by \function{make_form()} above) have the
-following methods.  Each method corresponds to a \C{} function whose
+following methods.  Each method corresponds to a C function whose
 name is prefixed with \samp{fl_}; and whose first argument is a form
 pointer; please refer to the official FORMS documentation for
 descriptions.
@@ -465,16 +466,18 @@
   \lineiii{automatic}{int (read-only)}{(see FORMS docs)}
 \end{tableiii}
 
-\section{\module{FL} ---
-         Constants used with the \module{fl} module.}
-\declaremodule{standard}{FL}
 
+\section{\module{FL} ---
+         Constants used with the \module{fl} module}
+
+\declaremodule{standard}{FL}
+  \platform{IRIX}
 \modulesynopsis{Constants used with the \module{fl} module.}
 
 
 This module defines symbolic constants needed to use the built-in
-module \module{fl} (see above); they are equivalent to those defined in
-the \C{} header file \code{<forms.h>} except that the name prefix
+module \refmodule{fl} (see above); they are equivalent to those defined in
+the C header file \code{<forms.h>} except that the name prefix
 \samp{FL_} is omitted.  Read the module source for a complete list of
 the defined names.  Suggested use:
 
@@ -483,16 +486,18 @@
 from FL import *
 \end{verbatim}
 
-\section{\module{flp} ---
-         Loading functions for stored FORMS designs.}
-\declaremodule{standard}{flp}
 
-\modulesynopsis{Loading functions for stored FORMS designs.}
+\section{\module{flp} ---
+         Functions for loading stored FORMS designs}
+
+\declaremodule{standard}{flp}
+  \platform{IRIX}
+\modulesynopsis{Functions for loading stored FORMS designs.}
 
 
 This module defines functions that can read form definitions created
 by the `form designer' (\program{fdesign}) program that comes with the
-FORMS library (see module \module{fl} above).
+FORMS library (see module \refmodule{fl} above).
 
 For now, see the file \file{flp.doc} in the Python library source
 directory for a description.
diff --git a/Doc/lib/libfm.tex b/Doc/lib/libfm.tex
index f6a4ef4..765a4d8 100644
--- a/Doc/lib/libfm.tex
+++ b/Doc/lib/libfm.tex
@@ -2,6 +2,7 @@
          \emph{Font Manager} interface}
 
 \declaremodule{builtin}{fm}
+  \platform{IRIX}
 \modulesynopsis{\emph{Font Manager} interface for SGI workstations.}
 
 
diff --git a/Doc/lib/libgdbm.tex b/Doc/lib/libgdbm.tex
index e787454..585693c 100644
--- a/Doc/lib/libgdbm.tex
+++ b/Doc/lib/libgdbm.tex
@@ -2,6 +2,7 @@
          GNU's reinterpretation of dbm}
 
 \declaremodule{builtin}{gdbm}
+  \platform{UNIX}
 \modulesynopsis{GNU's reinterpretation of dbm.}
 
 
diff --git a/Doc/lib/libgl.tex b/Doc/lib/libgl.tex
index 4a3e19d..b9fbc2d 100644
--- a/Doc/lib/libgl.tex
+++ b/Doc/lib/libgl.tex
@@ -2,6 +2,7 @@
          \emph{Graphics Library} interface}
 
 \declaremodule{builtin}{gl}
+  \platform{IRIX}
 \modulesynopsis{Functions from the Silicon Graphics \emph{Graphics Library}.}
 
 
@@ -185,11 +186,13 @@
 
 main()
 \end{verbatim}
-%
-\section{\module{DEVICE} ---
-         Constants used with the \module{gl} module.}
-\declaremodule{standard}{DEVICE}
 
+
+\section{\module{DEVICE} ---
+         Constants used with the \module{gl} module}
+
+\declaremodule{standard}{DEVICE}
+  \platform{IRIX}
 \modulesynopsis{Constants used with the \module{gl} module.}
 
 This modules defines the constants used by the Silicon Graphics
@@ -199,9 +202,10 @@
 
 
 \section{\module{GL} ---
-         Constants used with the \module{gl} module.}
-\declaremodule{standard}{GL}
+         Constants used with the \module{gl} module}
 
+\declaremodule{standard}{GL}
+  \platform{IRIX}
 \modulesynopsis{Constants used with the \module{gl} module.}
 
 This module contains constants used by the Silicon Graphics
diff --git a/Doc/lib/libgrp.tex b/Doc/lib/libgrp.tex
index 4d1ab80..5095806 100644
--- a/Doc/lib/libgrp.tex
+++ b/Doc/lib/libgrp.tex
@@ -1,10 +1,11 @@
 \section{\module{grp} ---
-         The group database.}
+         The group database}
+
 \declaremodule{builtin}{grp}
-
-
+  \platform{UNIX}
 \modulesynopsis{The group database (\function{getgrnam()} and friends).}
 
+
 This module provides access to the \UNIX{} group database.
 It is available on all \UNIX{} versions.
 
@@ -18,7 +19,7 @@
 list is a list of strings.
 (Note that most users are not explicitly listed as members of the
 group they are in according to the password database.)
-A \code{KeyError} exception is raised if the entry asked for cannot be found.
+\exception{KeyError} is raised if the entry asked for cannot be found.
 
 It defines the following items:
 
diff --git a/Doc/lib/libimgfile.tex b/Doc/lib/libimgfile.tex
index 7ea57a4..7069dbe 100644
--- a/Doc/lib/libimgfile.tex
+++ b/Doc/lib/libimgfile.tex
@@ -1,7 +1,8 @@
 \section{\module{imgfile} ---
-         Support for SGI imglib files.}
-\declaremodule{builtin}{imgfile}
+         Support for SGI imglib files}
 
+\declaremodule{builtin}{imgfile}
+  \platform{IRIX}
 \modulesynopsis{Support for SGI imglib files.}
 
 
diff --git a/Doc/lib/libjpeg.tex b/Doc/lib/libjpeg.tex
index e716695..fa7bcde 100644
--- a/Doc/lib/libjpeg.tex
+++ b/Doc/lib/libjpeg.tex
@@ -2,6 +2,7 @@
          Read and write JPEG files}
 
 \declaremodule{builtin}{jpeg}
+  \platform{IRIX}
 \modulesynopsis{Read and write image files in compressed JPEG format.}
 
 
diff --git a/Doc/lib/libmsvcrt.tex b/Doc/lib/libmsvcrt.tex
index 481117b..7e4c417 100644
--- a/Doc/lib/libmsvcrt.tex
+++ b/Doc/lib/libmsvcrt.tex
@@ -2,6 +2,7 @@
          Useful routines from the MS VC++ runtime}
 
 \declaremodule{builtin}{msvcrt}
+  \platform{Windows}
 \modulesynopsis{Miscellaneous useful routines from the MS VC++ runtime.}
 \sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
 
diff --git a/Doc/lib/libpopen2.tex b/Doc/lib/libpopen2.tex
index 4f735c8..2a87adb 100644
--- a/Doc/lib/libpopen2.tex
+++ b/Doc/lib/libpopen2.tex
@@ -1,14 +1,10 @@
-% This section was contributed by Drew Csillag
-% <drew_csillag@geocities.com>, with some re-organization by Fred L.
-% Drake, Jr. <fdrake@acm.org>.
-
 \section{\module{popen2} ---
-         Subprocesses with accessible standard I/O streams.}
-\declaremodule{standard}{popen2}
+         Subprocesses with accessible standard I/O streams}
 
-\sectionauthor{Drew Csillag}{drew_csillag@geocities.com}
-
+\declaremodule[popentwo]{standard}{popen2}
+  \platform{UNIX}
 \modulesynopsis{Subprocesses with accessible standard I/O streams.}
+\sectionauthor{Drew Csillag}{drew_csillag@geocities.com}
 
 
 This module allows you to spawn processes and connect their 
diff --git a/Doc/lib/libposix.tex b/Doc/lib/libposix.tex
index 4bbe6e6..0918ad0 100644
--- a/Doc/lib/libposix.tex
+++ b/Doc/lib/libposix.tex
@@ -1,7 +1,8 @@
 \section{\module{posix} ---
-         The most common \POSIX{} system calls.}
-\declaremodule{builtin}{posix}
+         The most common \POSIX{} system calls}
 
+\declaremodule{builtin}{posix}
+  \platform{UNIX}
 \modulesynopsis{The most common \POSIX{} system calls (normally used
 via module \module{os}).}
 
diff --git a/Doc/lib/libposixfile.tex b/Doc/lib/libposixfile.tex
index 9c0ffd8..491e0e2 100644
--- a/Doc/lib/libposixfile.tex
+++ b/Doc/lib/libposixfile.tex
@@ -1,9 +1,13 @@
 % Manual text and implementation by Jaap Vermeulen
 \section{\module{posixfile} ---
-         A file-like object with support for locking.}
-\declaremodule{builtin}{posixfile}
+         File-like objects with locking support}
 
+\declaremodule{builtin}{posixfile}
+  \platform{UNIX}
 \modulesynopsis{A file-like object with support for locking.}
+\moduleauthor{Jaap Vermeulen}{}
+\sectionauthor{Jaap Vermeulen}{}
+
 
 \indexii{\POSIX{}}{file object}
 
diff --git a/Doc/lib/libpwd.tex b/Doc/lib/libpwd.tex
index 7387723..72c6c7a 100644
--- a/Doc/lib/libpwd.tex
+++ b/Doc/lib/libpwd.tex
@@ -1,8 +1,8 @@
 \section{\module{pwd} ---
-         The password database.}
+         The password database}
+
 \declaremodule{builtin}{pwd}
-
-
+  \platform{UNIX}
 \modulesynopsis{The password database (\function{getpwnam()} and friends).}
 
 This module provides access to the \UNIX{} password database.
@@ -18,7 +18,7 @@
 \code{pw_dir},
 \code{pw_shell}.
 The uid and gid items are integers, all others are strings.
-A \code{KeyError} exception is raised if the entry asked for cannot be found.
+\exception{KeyError} is raised if the entry asked for cannot be found.
 
 It defines the following items:
 
diff --git a/Doc/lib/libresource.tex b/Doc/lib/libresource.tex
index 1d70e9e..5e6f109 100644
--- a/Doc/lib/libresource.tex
+++ b/Doc/lib/libresource.tex
@@ -1,11 +1,14 @@
 \section{\module{resource} ---
-         Resource usage information.}
+         Resource usage information}
+
 \declaremodule{builtin}{resource}
+  \platform{UNIX}
+\modulesynopsis{An interface to provide resource usage information on
+  the current process.}
+\moduleauthor{Jeremy Hylton}{jhylton@cnri.reston.va.us}
+\sectionauthor{Jeremy Hylton}{jhylton@cnri.reston.va.us}
 
 
-\modulesynopsis{An interface to provide resource usage information on the current
-process.}
-
 This module provides basic mechanisms for measuring and controlling
 system resources utilized by a program.
 
@@ -76,7 +79,7 @@
 \begin{datadesc}{RLIMIT_CPU}
   The maximum amount of CPU time (in seconds) that a process can
   use. If this limit is exceeded, a \constant{SIGXCPU} signal is sent to
-  the process. (See the \module{signal} module documentation for
+  the process. (See the \refmodule{signal} module documentation for
   information about how to catch this signal and do something useful,
   e.g. flush open files to disk.)
 \end{datadesc}
@@ -134,7 +137,7 @@
   This function returns a large tuple that describes the resources
   consumed by either the current process or its children, as specified
   by the \var{who} parameter.  The \var{who} parameter should be
-  specified using one of the \code{RUSAGE_*} constants described
+  specified using one of the \constant{RUSAGE_*} constants described
   below.
 
   The elements of the return value each
@@ -183,7 +186,7 @@
   bytes. 
 \end{funcdesc}
 
-The following \code{RUSAGE_*} symbols are passed to the
+The following \constant{RUSAGE_*} symbols are passed to the
 \function{getrusage()} function to specify which processes information
 should be provided for.
 
diff --git a/Doc/lib/libstat.tex b/Doc/lib/libstat.tex
index b74e98b..219cf36 100644
--- a/Doc/lib/libstat.tex
+++ b/Doc/lib/libstat.tex
@@ -1,11 +1,11 @@
 \section{\module{stat} ---
-         Utilities for interpreting \function{stat()} results.}
+         Interpreting \function{stat()} results}
+
 \declaremodule{standard}{stat}
-\sectionauthor{Skip Montanaro}{skip@automatrix.com}
-
-
+  \platform{UNIX}
 \modulesynopsis{Utilities for interpreting the results of
-\function{os.stat()}, \function{os.lstat()} and \function{os.fstat()}.}
+  \function{os.stat()}, \function{os.lstat()} and \function{os.fstat()}.}
+\sectionauthor{Skip Montanaro}{skip@automatrix.com}
 
 
 The \module{stat} module defines constants and functions for
@@ -46,7 +46,7 @@
 \end{funcdesc}
 
 All the data items below are simply symbolic indexes into the 10-tuple
-returned by \code{os.stat()} or \code{os.lstat()}.  
+returned by \function{os.stat()} or \function{os.lstat()}.  
 
 \begin{datadesc}{ST_MODE}
 Inode protection mode.
@@ -109,7 +109,15 @@
             print 'Skipping %s/%s' % (dir, f)
 
 def f(file):
+-Egon
+
+
+
     print 'frobbed', file
 
 if __name__ == '__main__': process(sys.argv[1], f)
 \end{verbatim}
+
+-Egon
+
+
diff --git a/Doc/lib/libsunaudio.tex b/Doc/lib/libsunaudio.tex
index db0368b..8340612 100644
--- a/Doc/lib/libsunaudio.tex
+++ b/Doc/lib/libsunaudio.tex
@@ -1,7 +1,8 @@
 \section{\module{sunaudiodev} ---
          Access to Sun audio hardware.}
-\declaremodule{builtin}{sunaudiodev}
 
+\declaremodule{builtin}{sunaudiodev}
+  \platform{SunOS}
 \modulesynopsis{Access to Sun audio hardware.}
 
 
diff --git a/Doc/lib/libsyslog.tex b/Doc/lib/libsyslog.tex
index 1068db9..a0bdd45 100644
--- a/Doc/lib/libsyslog.tex
+++ b/Doc/lib/libsyslog.tex
@@ -1,7 +1,8 @@
 \section{\module{syslog} ---
-         \UNIX{} syslog library routines.}
-\declaremodule{builtin}{syslog}
+         \UNIX{} syslog library routines}
 
+\declaremodule{builtin}{syslog}
+  \platform{UNIX}
 \modulesynopsis{An interface to the \UNIX{} syslog library routines.}
 
 
diff --git a/Doc/lib/libtermios.tex b/Doc/lib/libtermios.tex
index 9482203..b25db02 100644
--- a/Doc/lib/libtermios.tex
+++ b/Doc/lib/libtermios.tex
@@ -1,7 +1,8 @@
 \section{\module{termios} ---
-         \POSIX{} style tty control.}
-\declaremodule{builtin}{termios}
+         \POSIX{} style tty control}
 
+\declaremodule{builtin}{termios}
+  \platform{UNIX}
 \modulesynopsis{\POSIX{} style tty control.}
 
 \indexii{\POSIX{}}{I/O control}
@@ -19,8 +20,8 @@
 returned by \code{sys.stdin.fileno()}.
 
 This module should be used in conjunction with the
-\module{TERMIOS}\refstmodindex{TERMIOS} module, which defines the
-relevant symbolic constants (see the next section).
+\refmodule[TERMIOSuppercase]{TERMIOS}\refstmodindex{TERMIOS} module,
+which defines the relevant symbolic constants (see the next section).
 
 The module defines the following functions:
 
@@ -33,7 +34,8 @@
 \constant{TERMIOS.VTIME}, which are integers when these fields are
 defined).  The interpretation of the flags and the speeds as well as
 the indexing in the \var{cc} array must be done using the symbolic
-constants defined in the \module{TERMIOS} module.
+constants defined in the \refmodule[TERMIOSuppercase]{TERMIOS}
+module.
 \end{funcdesc}
 
 \begin{funcdesc}{tcsetattr}{fd, when, attributes}
@@ -97,18 +99,19 @@
 
 
 \section{\module{TERMIOS} ---
-         Constants used with \module{termios}}
+         Constants used with the \module{termios} module}
 
 \declaremodule[TERMIOSuppercase]{standard}{TERMIOS}
+  \platform{UNIX}
 \modulesynopsis{Symbolic constants required to use the
-\module{termios} module.}
+  \module{termios} module.}
 
 
 \indexii{\POSIX{}}{I/O control}
 \indexii{tty}{I/O control}
 
 This module defines the symbolic constants required to use the
-\module{termios}\refbimodindex{termios} module (see the previous
+\refmodule{termios}\refbimodindex{termios} module (see the previous 
 section).  See the \POSIX{} or \UNIX{} manual pages (or the source)
 for a list of those constants.
 
diff --git a/Doc/lib/libwinsound.tex b/Doc/lib/libwinsound.tex
index 63f12cb..eacab3b 100644
--- a/Doc/lib/libwinsound.tex
+++ b/Doc/lib/libwinsound.tex
@@ -2,6 +2,7 @@
          Sound-playing interface for Windows}
 
 \declaremodule{builtin}{winsound}
+  \platform{Windows}
 \modulesynopsis{Access to the sound-playing machinery for Windows.}
 \moduleauthor{Toby Dickenson}{htrd90@zepler.org}
 \sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
