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}
diff --git a/Doc/mac/libctb.tex b/Doc/mac/libctb.tex
index de2e865..6637528 100644
--- a/Doc/mac/libctb.tex
+++ b/Doc/mac/libctb.tex
@@ -1,7 +1,8 @@
 \section{\module{ctb} ---
-         Interface to the Communications Tool Box.}
-\declaremodule{builtin}{ctb}
+         Interface to the Communications Tool Box}
 
+\declaremodule{builtin}{ctb}
+  \platform{Mac}
 \modulesynopsis{Interfaces to the Communications Tool Box.  Only the Connection
 Manager is supported.}
 
@@ -48,8 +49,8 @@
 default buffer sizes.
 \end{funcdesc}
 
-\subsection{connection object}
-\label{connection-object}
+
+\subsection{Connection Objects \label{connection-object}}
 
 For all connection methods that take a \var{timeout} argument, a value
 of \code{-1} is indefinite, meaning that the command runs to completion.
diff --git a/Doc/mac/libframework.tex b/Doc/mac/libframework.tex
index 7c10e25..31f8a47 100644
--- a/Doc/mac/libframework.tex
+++ b/Doc/mac/libframework.tex
@@ -1,7 +1,8 @@
 \section{\module{FrameWork} ---
-         Interactive application framework.}
-\declaremodule{standard}{FrameWork}
+         Interactive application framework}
 
+\declaremodule{standard}{FrameWork}
+  \platform{Mac}
 \modulesynopsis{Interactive application framework.}
 
 
@@ -52,7 +53,7 @@
 window and the application. The method name is the callback string
 with \code{'domenu_'} prepended.
 
-Calling the \code{MenuBar} \code{fixmenudimstate} method sets the
+Calling the \code{MenuBar} \method{fixmenudimstate()} method sets the
 correct dimming for all menu items based on the current front window.
 \end{funcdesc}
 
@@ -75,11 +76,11 @@
 \end{funcdesc}
 
 \begin{funcdesc}{windowbounds}{width, height}
-Return a \code{(left, top, right, bottom)} tuple suitable for creation
-of a window of given width and height. The window will be staggered
-with respect to previous windows, and an attempt is made to keep the
-whole window on-screen. The window will however always be exact the
-size given, so parts may be offscreen.
+Return a \code{(\var{left}, \var{top}, \var{right}, \var{bottom})}
+tuple suitable for creation of a window of given width and height. The
+window will be staggered with respect to previous windows, and an
+attempt is made to keep the whole window on-screen. The window will
+however always be exact the size given, so parts may be offscreen.
 \end{funcdesc}
 
 \begin{funcdesc}{setwatchcursor}{}
@@ -90,31 +91,30 @@
 Set the mouse cursor to an arrow.
 \end{funcdesc}
 
-\subsection{Application Objects}
-\label{application-objects}
+
+\subsection{Application Objects \label{application-objects}}
 
 Application objects have the following methods, among others:
 
-\setindexsubitem{(Application method)}
 
-\begin{funcdesc}{makeusermenus}{}
+\begin{methoddesc}[Application]{makeusermenus}{}
 Override this method if you need menus in your application. Append the
 menus to the attribute \member{menubar}.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{getabouttext}{}
+\begin{methoddesc}[Application]{getabouttext}{}
 Override this method to return a text string describing your
 application.  Alternatively, override the \method{do_about()} method
 for more elaborate ``about'' messages.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{mainloop}{\optional{mask\optional{, wait}}}
+\begin{methoddesc}[Application]{mainloop}{\optional{mask\optional{, wait}}}
 This routine is the main event loop, call it to set your application
 rolling. \var{Mask} is the mask of events you want to handle,
 \var{wait} is the number of ticks you want to leave to other
 concurrent application (default 0, which is probably not a good
-idea). While raising \code{self} to exit the mainloop is still
-supported it is not recommended, call \code{self._quit} instead.
+idea). While raising \var{self} to exit the mainloop is still
+supported it is not recommended: call \code{self._quit()} instead.
 
 The event loop is split into many small parts, each of which can be
 overridden. The default methods take care of dispatching events to
@@ -129,9 +129,9 @@
 \var{our_dispatch} or its callees, since this may result in an
 infinite loop if the code is called through the Python inner-loop
 event handler.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{asyncevents}{onoff}
+\begin{methoddesc}[Application]{asyncevents}{onoff}
 Call this method with a nonzero parameter to enable
 asynchronous event handling. This will tell the inner interpreter loop
 to call the application event handler \var{async_dispatch} whenever events
@@ -144,154 +144,157 @@
 and such.
 
 The old on/off value is returned.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{_quit}{}
+\begin{methoddesc}[Application]{_quit}{}
 Terminate the running \method{mainloop()} call at the next convenient
 moment.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_char}{c, event}
+\begin{methoddesc}[Application]{do_char}{c, event}
 The user typed character \var{c}. The complete details of the event
 can be found in the \var{event} structure. This method can also be
 provided in a \code{Window} object, which overrides the
 application-wide handler if the window is frontmost.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_dialogevent}{event}
+\begin{methoddesc}[Application]{do_dialogevent}{event}
 Called early in the event loop to handle modeless dialog events. The
 default method simply dispatches the event to the relevant dialog (not
 through the the \code{DialogWindow} object involved). Override if you
 need special handling of dialog events (keyboard shortcuts, etc).
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{idle}{event}
+\begin{methoddesc}[Application]{idle}{event}
 Called by the main event loop when no events are available. The
 null-event is passed (so you can look at mouse position, etc).
-\end{funcdesc}
+\end{methoddesc}
 
-\subsection{Window Objects}
-\label{window-objects}
+
+\subsection{Window Objects \label{window-objects}}
 
 Window objects have the following methods, among others:
 
 \setindexsubitem{(Window method)}
 
-\begin{funcdesc}{open}{}
+\begin{methoddesc}[Window]{open}{}
 Override this method to open a window. Store the MacOS window-id in
-\code{self.wid} and call \code{self.do_postopen} to register the
-window with the parent application.
-\end{funcdesc}
+\member{self.wid} and call the \method{do_postopen()} method to
+register the window with the parent application.
+\end{methoddesc}
 
-\begin{funcdesc}{close}{}
+\begin{methoddesc}[Window]{close}{}
 Override this method to do any special processing on window
-close. Call \code{self.do_postclose} to cleanup the parent state.
-\end{funcdesc}
+close. Call the \method{do_postclose()} method to cleanup the parent
+state.
+\end{methoddesc}
 
-\begin{funcdesc}{do_postresize}{width, height, macoswindowid}
+\begin{methoddesc}[Window]{do_postresize}{width, height, macoswindowid}
 Called after the window is resized. Override if more needs to be done
 than calling \code{InvalRect}.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_contentclick}{local, modifiers, event}
+\begin{methoddesc}[Window]{do_contentclick}{local, modifiers, event}
 The user clicked in the content part of a window. The arguments are
 the coordinates (window-relative), the key modifiers and the raw
 event.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_update}{macoswindowid, event}
+\begin{methoddesc}[Window]{do_update}{macoswindowid, event}
 An update event for the window was received. Redraw the window.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_activate}{activate, event}
-The window was activated (\code{activate==1}) or deactivated
-(\code{activate==0}). Handle things like focus highlighting, etc.
-\end{funcdesc}
+\begin{methoddesc}{do_activate}{activate, event}
+The window was activated (\code{\var{activate} == 1}) or deactivated
+(\code{\var{activate} == 0}). Handle things like focus highlighting,
+etc.
+\end{methoddesc}
 
-\subsection{ControlsWindow Object}
-\label{controlswindow-object}
+
+\subsection{ControlsWindow Object \label{controlswindow-object}}
 
 ControlsWindow objects have the following methods besides those of
 \code{Window} objects:
 
-\setindexsubitem{(ControlsWindow method)}
 
-\begin{funcdesc}{do_controlhit}{window, control, pcode, event}
-Part \code{pcode} of control \code{control} was hit by the
+\begin{methoddesc}[ControlsWindow]{do_controlhit}{window, control,
+                                                  pcode, event}
+Part \var{pcode} of control \var{control} was hit by the
 user. Tracking and such has already been taken care of.
-\end{funcdesc}
+\end{methoddesc}
 
-\subsection{ScrolledWindow Object}
-\label{scrolledwindow-object}
+
+\subsection{ScrolledWindow Object \label{scrolledwindow-object}}
 
 ScrolledWindow objects are ControlsWindow objects with the following
 extra methods:
 
-\setindexsubitem{(ScrolledWindow method)}
 
-\begin{funcdesc}{scrollbars}{\optional{wantx\optional{, wanty}}}
+\begin{methoddesc}[ScrolledWindow]{scrollbars}{\optional{wantx\optional{,
+                                               wanty}}}
 Create (or destroy) horizontal and vertical scrollbars. The arguments
 specify which you want (default: both). The scrollbars always have
 minimum \code{0} and maximum \code{32767}.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{getscrollbarvalues}{}
+\begin{methoddesc}[ScrolledWindow]{getscrollbarvalues}{}
 You must supply this method. It should return a tuple \code{(\var{x},
 \var{y})} giving the current position of the scrollbars (between
 \code{0} and \code{32767}). You can return \code{None} for either to
 indicate the whole document is visible in that direction.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{updatescrollbars}{}
+\begin{methoddesc}[ScrolledWindow]{updatescrollbars}{}
 Call this method when the document has changed. It will call
 \method{getscrollbarvalues()} and update the scrollbars.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{scrollbar_callback}{which, what, value}
+\begin{methoddesc}[ScrolledWindow]{scrollbar_callback}{which, what, value}
 Supplied by you and called after user interaction. \var{which} will
 be \code{'x'} or \code{'y'}, \var{what} will be \code{'-'},
 \code{'--'}, \code{'set'}, \code{'++'} or \code{'+'}. For
 \code{'set'}, \var{value} will contain the new scrollbar position.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{scalebarvalues}{absmin, absmax, curmin, curmax}
+\begin{methoddesc}[ScrolledWindow]{scalebarvalues}{absmin, absmax,
+                                                   curmin, curmax}
 Auxiliary method to help you calculate values to return from
 \method{getscrollbarvalues()}. You pass document minimum and maximum value
 and topmost (leftmost) and bottommost (rightmost) visible values and
 it returns the correct number or \code{None}.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_activate}{onoff, event}
+\begin{methoddesc}[ScrolledWindow]{do_activate}{onoff, event}
 Takes care of dimming/highlighting scrollbars when a window becomes
 frontmost vv. If you override this method call this one at the end of
 your method.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_postresize}{width, height, window}
+\begin{methoddesc}[ScrolledWindow]{do_postresize}{width, height, window}
 Moves scrollbars to the correct position. Call this method initially
 if you override it.
-\end{funcdesc}
+\end{methoddesc}
 
-\begin{funcdesc}{do_controlhit}{window, control, pcode, event}
+\begin{methoddesc}[ScrolledWindow]{do_controlhit}{window, control,
+                                                  pcode, event}
 Handles scrollbar interaction. If you override it call this method
 first, a nonzero return value indicates the hit was in the scrollbars
 and has been handled.
-\end{funcdesc}
+\end{methoddesc}
 
-\subsection{DialogWindow Objects}
-\label{dialogwindow-objects}
+
+\subsection{DialogWindow Objects \label{dialogwindow-objects}}
 
 DialogWindow objects have the following methods besides those of
 \code{Window} objects:
 
-\setindexsubitem{(DialogWindow method)}
 
-\begin{funcdesc}{open}{resid}
+\begin{methoddesc}[DialogWindow]{open}{resid}
 Create the dialog window, from the DLOG resource with id
-\var{resid}. The dialog object is stored in \code{self.wid}.
-\end{funcdesc}
+\var{resid}. The dialog object is stored in \member{self.wid}.
+\end{methoddesc}
 
-\begin{funcdesc}{do_itemhit}{item, event}
+\begin{methoddesc}[DialogWindow]{do_itemhit}{item, event}
 Item number \var{item} was hit. You are responsible for redrawing
 toggle buttons, etc.
-\end{funcdesc}
+\end{methoddesc}
diff --git a/Doc/mac/libmac.tex b/Doc/mac/libmac.tex
index 05df394..50688ac 100644
--- a/Doc/mac/libmac.tex
+++ b/Doc/mac/libmac.tex
@@ -41,8 +41,9 @@
 
 \section{\module{mac} ---
          Implementations for the \module{os} module}
-\declaremodule{builtin}{mac}
 
+\declaremodule{builtin}{mac}
+  \platform{Mac}
 \modulesynopsis{Implementations for the \module{os} module.}
 
 
@@ -82,8 +83,10 @@
 
 \section{\module{macpath} ---
          MacOS path manipulation functions}
-\declaremodule{standard}{macpath}
 
+\declaremodule{standard}{macpath}
+% Could be labeled \platform{Mac}, but the module should work anywhere and
+% is distributed with the standard library.
 \modulesynopsis{MacOS path manipulation functions.}
 
 
diff --git a/Doc/mac/libmacconsole.tex b/Doc/mac/libmacconsole.tex
index 281ea89..6215d89 100644
--- a/Doc/mac/libmacconsole.tex
+++ b/Doc/mac/libmacconsole.tex
@@ -1,13 +1,13 @@
 \section{\module{macconsole} ---
-         Think C's console package.}
-\declaremodule{builtin}{macconsole}
+         Think C's console package}
 
+\declaremodule{builtin}{macconsole}
+  \platform{Mac}
 \modulesynopsis{Think C's console package.}
 
 
-
 This module is available on the Macintosh, provided Python has been
-built using the Think \C{} compiler. It provides an interface to the
+built using the Think C compiler. It provides an interface to the
 Think console package, with which basic text windows can be created.
 
 \begin{datadesc}{options}
diff --git a/Doc/mac/libmacdnr.tex b/Doc/mac/libmacdnr.tex
index 6da88f2..efd80d4 100644
--- a/Doc/mac/libmacdnr.tex
+++ b/Doc/mac/libmacdnr.tex
@@ -1,12 +1,13 @@
 \section{\module{macdnr} ---
-         Interfaces to the Macintosh Domain Name Resolver.}
-\declaremodule{builtin}{macdnr}
+         Interface to the Macintosh Domain Name Resolver}
 
+\declaremodule{builtin}{macdnr}
+  \platform{Mac}
 \modulesynopsis{Interfaces to the Macintosh Domain Name Resolver.}
 
 
 This module provides an interface to the Macintosh Domain Name
-Resolver.  It is usually used in conjunction with the \module{mactcp}
+Resolver.  It is usually used in conjunction with the \refmodule{mactcp}
 module, to map hostnames to IP addresses.  It may not be available in
 all Mac Python versions.
 \index{Macintosh Domain Name Resolver}
@@ -55,8 +56,8 @@
 given domain.  Returns a dnr result object of the ``mx'' variety.
 \end{funcdesc}
 
-\subsection{dnr result object}
-\label{dnr-result-object}
+
+\subsection{DNR Result Objects \label{dnr-result-object}}
 
 Since the DNR calls all execute asynchronously you do not get the
 results back immediately.  Instead, you get a dnr result object.  You
@@ -115,6 +116,7 @@
 
 The simplest way to use the module to convert names to dotted-decimal
 strings, without worrying about idle time, etc:
+
 \begin{verbatim}
 >>> def gethostname(name):
 ...     import macdnr
diff --git a/Doc/mac/libmacfs.tex b/Doc/mac/libmacfs.tex
index e7aa66c..86d8d0d 100644
--- a/Doc/mac/libmacfs.tex
+++ b/Doc/mac/libmacfs.tex
@@ -1,13 +1,12 @@
 \section{\module{macfs} ---
-         FSSpec, the Alias Manager, \program{finder} aliases,
-         and the Standard File package.}
-\declaremodule{builtin}{macfs}
+         Various file system services}
 
+\declaremodule{builtin}{macfs}
+  \platform{Mac}
 \modulesynopsis{Support for FSSpec, the Alias Manager,
                 \program{finder} aliases, and the Standard File package.}
 
 
-
 This module provides access to Macintosh FSSpec handling, the Alias
 Manager, \program{finder} aliases and the Standard File package.
 \index{Macintosh Alias Manager}
@@ -111,8 +110,8 @@
 function returns an \pytype{FSSpec} object pointing to the application.
 \end{funcdesc}
 
-\subsection{FSSpec objects}
-\label{fsspec-objects}
+
+\subsection{FSSpec objects \label{fsspec-objects}}
 
 \begin{memberdesc}[FSSpec]{data}
 The raw data from the FSSpec object, suitable for passing
@@ -168,8 +167,7 @@
 \end{methoddesc}
 
 
-\subsection{Alias Objects}
-\label{alias-objects}
+\subsection{Alias Objects \label{alias-objects}}
 
 \begin{memberdesc}[Alias]{data}
 The raw data for the Alias record, suitable for storing in a resource
@@ -202,8 +200,7 @@
 resource.
 
 
-\subsection{FInfo Objects}
-\label{finfo-objects}
+\subsection{FInfo Objects \label{finfo-objects}}
 
 See \emph{Inside Macintosh: Files} for a complete description of what
 the various fields mean.
diff --git a/Doc/mac/libmacic.tex b/Doc/mac/libmacic.tex
index c8caa44..eb7a5d6 100644
--- a/Doc/mac/libmacic.tex
+++ b/Doc/mac/libmacic.tex
@@ -1,11 +1,11 @@
 \section{\module{ic} ---
-         Access to Internet Config.}
+         Access to Internet Config}
+
 \declaremodule{builtin}{ic}
-
+  \platform{Mac}
 \modulesynopsis{Access to Internet Config.}
 
 
-
 This module provides access to Macintosh Internet Config package,
 which stores preferences for Internet programs such as mail address,
 default homepage, etc. Also, Internet Config contains an elaborate set
@@ -94,10 +94,10 @@
 as either a filename or an \function{macfs.FSSpec()} result, and which
 need not exist.
 
-The mapping entry is returned as a tuple \code{(}\var{version},
+The mapping entry is returned as a tuple \code{(\var{version},
 \var{type}, \var{creator}, \var{postcreator}, \var{flags},
 \var{extension}, \var{appname}, \var{postappname}, \var{mimetype},
-\var{entryname}\code{)}, where \var{version} is the entry version
+\var{entryname})}, where \var{version} is the entry version
 number, \var{type} is the 4-character filetype, \var{creator} is the
 4-character creator type, \var{postcreator} is the 4-character creator
 code of an
diff --git a/Doc/mac/libmacos.tex b/Doc/mac/libmacos.tex
index 8f21981..d3287f4 100644
--- a/Doc/mac/libmacos.tex
+++ b/Doc/mac/libmacos.tex
@@ -1,11 +1,11 @@
 \section{\module{MacOS} ---
-         Access to MacOS specific interpreter features.}
+         Access to MacOS interpreter features}
+
 \declaremodule{builtin}{MacOS}
-
+  \platform{Mac}
 \modulesynopsis{Access to MacOS specific interpreter features.}
 
 
-
 This module provides access to MacOS specific functionality in the
 Python interpreter, such as how the interpreter eventloop functions
 and the like. Use with care.
diff --git a/Doc/mac/libmacostools.tex b/Doc/mac/libmacostools.tex
index eebafcc..797af26 100644
--- a/Doc/mac/libmacostools.tex
+++ b/Doc/mac/libmacostools.tex
@@ -1,7 +1,8 @@
 \section{\module{macostools} ---
-         Convenience routines for file manipulation.}
-\declaremodule{standard}{macostools}
+         Convenience routines for file manipulation}
 
+\declaremodule{standard}{macostools}
+  \platform{Mac}
 \modulesynopsis{Convenience routines for file manipulation.}
 
 
@@ -50,10 +51,12 @@
 the Apple documentation. Hence, aliases created with \function{mkalias()}
 could conceivably have incompatible behaviour in some cases.
 
-\section{\module{findertools} ---
-         Wrappers around the \program{finder}'s Apple Events interface.}
-\declaremodule{standard}{findertools}
 
+\section{\module{findertools} ---
+         The \program{finder}'s Apple Events interface}
+
+\declaremodule{standard}{findertools}
+  \platform{Mac}
 \modulesynopsis{Wrappers around the \program{finder}'s Apple Events interface.}
 
 
diff --git a/Doc/mac/libmacspeech.tex b/Doc/mac/libmacspeech.tex
index 340b813..413b875 100644
--- a/Doc/mac/libmacspeech.tex
+++ b/Doc/mac/libmacspeech.tex
@@ -1,11 +1,11 @@
 \section{\module{macspeech} ---
-         Interface to the Macintosh Speech Manager.}
+         Interface to the Macintosh Speech Manager}
+
 \declaremodule{builtin}{macspeech}
-
+  \platform{Mac}
 \modulesynopsis{Interface to the Macintosh Speech Manager.}
 
 
-
 This module provides an interface to the Macintosh Speech Manager,
 \index{Macintosh Speech Manager}
 \index{Speech Manager, Macintosh}
diff --git a/Doc/mac/libmactcp.tex b/Doc/mac/libmactcp.tex
index 48a5a16..e0469d5 100644
--- a/Doc/mac/libmactcp.tex
+++ b/Doc/mac/libmactcp.tex
@@ -1,20 +1,20 @@
 \section{\module{mactcp} ---
-         The MacTCP interfaces.}
+         The MacTCP interfaces}
+
 \declaremodule{builtin}{mactcp}
-
+  \platform{Mac}
 \modulesynopsis{The MacTCP interfaces.}
 
 
-
 This module provides an interface to the Macintosh TCP/IP driver%
 \index{MacTCP} MacTCP. There is an accompanying module,
-\module{macdnr}\refbimodindex{macdnr}, which provides an interface to
-the name-server (allowing you to translate hostnames to IP addresses),
-a module \module{MACTCPconst}\refstmodindex{MACTCPconst} which has
-symbolic names for constants constants used by MacTCP. Since the
-built-in module \module{socket} is also available on the Macintosh it
-is usually easier to use sockets instead of the Macintosh-specific
-MacTCP API.
+\refmodule{macdnr}\refbimodindex{macdnr}, which provides an interface
+to the name-server (allowing you to translate hostnames to IP
+addresses), a module \module{MACTCPconst}\refstmodindex{MACTCPconst}
+which has symbolic names for constants constants used by MacTCP. Since
+the built-in module \module{socket}\refbimodindex{socket} is also
+available on the Macintosh it is usually easier to use sockets instead
+of the Macintosh-specific MacTCP API.
 
 A complete description of the MacTCP interface can be found in the
 Apple MacTCP API documentation.
@@ -55,7 +55,7 @@
 function will be called upon network-generated events such as urgent
 data arrival.  Macintosh documentation calls this the
 \dfn{asynchronous service routine}.  In addition, it is called with
-eventcode \code{MACTCP.PassiveOpenDone} when a \code{PassiveOpen}
+eventcode \code{MACTCP.PassiveOpenDone} when a \method{PassiveOpen()}
 completes. This is a Python addition to the MacTCP semantics.
 It is safe to do further calls from \var{asr}.
 \end{memberdesc}
@@ -70,11 +70,11 @@
 \end{methoddesc}
 
 \begin{methoddesc}[TCP Stream]{wait}{}
-Wait for \code{PassiveOpen} to complete.
+Wait for \method{PassiveOpen()} to complete.
 \end{methoddesc}
 
 \begin{methoddesc}[TCP Stream]{isdone}{}
-Return \code{1} if a \code{PassiveOpen} has completed.
+Return \code{1} if a \method{PassiveOpen()} has completed.
 \end{methoddesc}
 
 \begin{methoddesc}[TCP Stream]{GetSockName}{}
diff --git a/Doc/mac/libmacui.tex b/Doc/mac/libmacui.tex
index e6d0362..5872b5a 100644
--- a/Doc/mac/libmacui.tex
+++ b/Doc/mac/libmacui.tex
@@ -1,15 +1,17 @@
 \section{\module{EasyDialogs} ---
-         Basic Macintosh dialogs.}
-\declaremodule{standard}{EasyDialogs}
+         Basic Macintosh dialogs}
 
+\declaremodule{standard}{EasyDialogs}
+  \platform{Mac}
 \modulesynopsis{Basic Macintosh dialogs.}
 
 
 The \module{EasyDialogs} module contains some simple dialogs for
-the Macintosh, modelled after the \module{stdwin} dialogs with similar
-names. All routines have an optional parameter \var{id} with which you
-can override the DLOG resource used for the dialog, as long as the
-item numbers correspond. See the source for details.
+the Macintosh, modelled after the
+\module{stdwin}\refbimodindex{stdwin} dialogs with similar names. All
+routines have an optional parameter \var{id} with which you can
+override the DLOG resource used for the dialog, as long as the item
+numbers correspond. See the source for details.
  
 The \module{EasyDialogs} module defines the following functions:
 
diff --git a/Doc/mac/libminiae.tex b/Doc/mac/libminiae.tex
index 346f412..4ea2a41 100644
--- a/Doc/mac/libminiae.tex
+++ b/Doc/mac/libminiae.tex
@@ -1,7 +1,8 @@
 \section{\module{MiniAEFrame} ---
-         Support to act as an Open Scripting Architecture server.}
-\declaremodule{standard}{MiniAEFrame}
+         Open Scripting Architecture server support}
 
+\declaremodule{standard}{MiniAEFrame}
+  \platform{Mac}
 \modulesynopsis{Support to act as an Open Scripting Architecture (OSA) server
 (``Apple Events'').}
 
@@ -11,7 +12,7 @@
 \index{Open Scripting Architecture}
 (OSA) server, i.e. receive and process
 AppleEvents\index{AppleEvents}. It can be used in conjunction with
-\module{FrameWork}\refstmodindex{FrameWork} or standalone.
+\refmodule{FrameWork}\refstmodindex{FrameWork} or standalone.
 
 This module is temporary, it will eventually be replaced by a module
 that handles argument names better and possibly automates making your
@@ -38,8 +39,7 @@
 \end{classdesc}
 
 
-\subsection{AEServer Objects}
-\label{aeserver-objects}
+\subsection{AEServer Objects \label{aeserver-objects}}
 
 \begin{methoddesc}[AEServer]{installaehandler}{classe, type, callback}
 Installs an AppleEvent handler. \var{classe} and \var{type} are the
diff --git a/Doc/mac/mac.tex b/Doc/mac/mac.tex
index 91e3eee..b8df563 100644
--- a/Doc/mac/mac.tex
+++ b/Doc/mac/mac.tex
@@ -7,6 +7,7 @@
 \makeindex			% tell \index to actually write the
 				% .idx file
 \makemodindex			% ... and the module index as well.
+\ignorePlatformAnnotation{Mac}
 
 
 \begin{document}
