diff --git a/Doc/mac/libmacfs.tex b/Doc/mac/libmacfs.tex
index db8f619..1ffc421 100644
--- a/Doc/mac/libmacfs.tex
+++ b/Doc/mac/libmacfs.tex
@@ -15,10 +15,13 @@
 
 Whenever a function or method expects a \var{file} argument, this
 argument can be one of three things:\ (1) a full or partial Macintosh
-pathname, (2) an \pytype{FSSpec} object or (3) a 3-tuple \code{(\var{wdRefNum},
-\var{parID}, \var{name})} as described in \citetitle{Inside
-Macintosh:\ Files}. A description of aliases and the Standard File
-package can also be found there.
+pathname, (2) an \pytype{FSSpec} object or (3) a 3-tuple
+\code{(\var{wdRefNum}, \var{parID}, \var{name})} as described in
+\citetitle{Inside Macintosh:\ Files}. A description of aliases and the
+Standard File package can also be found there.
+
+\strong{Note:} A module, \refmodule{macfsn}, is auto-imported to replace
+StandardFile calls in macfs with NavServices calls.
 
 \begin{funcdesc}{FSSpec}{file}
 Create an \pytype{FSSpec} object for the specified file.
@@ -59,7 +62,7 @@
 
 \begin{funcdesc}{PromptGetFile}{prompt\optional{, type, \moreargs}}
 Similar to \function{StandardGetFile()} but allows you to specify a
-prompt.
+prompt which will be displayed at the top of the dialog.
 \end{funcdesc}
 
 \begin{funcdesc}{StandardPutFile}{prompt\optional{, default}}
@@ -71,9 +74,11 @@
 \end{funcdesc}
 
 \begin{funcdesc}{GetDirectory}{\optional{prompt}}
-Present the user with a non-standard ``select a directory''
-dialog. \var{prompt} is the prompt string, and the optional.
-Return an \pytype{FSSpec} object and a success-indicator.
+Present the user with a non-standard ``select a directory'' dialog.  You
+have to first open the directory before clicking on the ``select current
+directory'' button. \var{prompt} is the prompt string which will be
+displayed at the top of the dialog. Return an \pytype{FSSpec} object and
+a success-indicator.
 \end{funcdesc}
 
 \begin{funcdesc}{SetFolder}{\optional{fsspec}}
@@ -84,7 +89,7 @@
 current directory, i.e. what \function{os.getcwd()} returns.
 
 Note that starting with system 7.5 the user can change Standard File
-behaviour with the ``general controls'' controlpanel, thereby making
+behaviour with the ``general controls'' control panel, thereby making
 this call inoperative.
 \end{funcdesc}
 
@@ -106,7 +111,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{FindApplication}{creator}
-Locate the application with 4-char creator code \var{creator}. The
+Locate the application with 4-character creator code \var{creator}. The
 function returns an \pytype{FSSpec} object pointing to the application.
 \end{funcdesc}
 
diff --git a/Doc/mac/libmacic.tex b/Doc/mac/libmacic.tex
index 0d54626..715b31b 100644
--- a/Doc/mac/libmacic.tex
+++ b/Doc/mac/libmacic.tex
@@ -12,7 +12,7 @@
 default homepage, etc. Also, Internet Config contains an elaborate set
 of mappings from Macintosh creator/type codes to foreign filename
 extensions plus information on how to transfer files (binary, ascii,
-etc).
+etc.). Since MacOS 9, this module is a control panel named Internet.
 
 There is a low-level companion module
 \module{icglue}\refbimodindex{icglue} which provides the basic
@@ -61,7 +61,7 @@
 The module knows about various datatypes, and converts the internal IC
 representation to a ``logical'' Python data structure. Running the
 \module{ic} module standalone will run a test program that lists all
-keys and values in your IC database, this will have to server as
+keys and values in your IC database, this will have to serve as
 documentation.
 
 If the module does not know how to represent the data it returns an
@@ -84,7 +84,7 @@
 Find an URL somewhere in \var{data} and return start position, end
 position and the URL. The optional \var{start} and \var{end} can be
 used to limit the search, so for instance if a user clicks in a long
-textfield you can pass the whole textfield and the click-position in
+text field you can pass the whole text field and the click-position in
 \var{start} and this routine will return the whole URL in which the
 user clicked.  As above, \var{hint} is an optional scheme used to
 complete incomplete URLs.
