Added \platform annotations.
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}