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