Documentation for the aepack and aetypes modules, by Vincent Marchetti
<vincem@en.com>.
diff --git a/Doc/mac/libaepack.tex b/Doc/mac/libaepack.tex
new file mode 100644
index 0000000..2dfee0b
--- /dev/null
+++ b/Doc/mac/libaepack.tex
@@ -0,0 +1,73 @@
+\section{\module{aepack} ---
+         Conversion between Python variables and AppleEvent data containers}
+
+\declaremodule{standard}{aepack}
+  \platform{Mac}
+%\moduleauthor{Jack Jansen?}{email}
+\modulesynopsis{Conversion between Python variables and AppleEvent
+                data containers.}
+\sectionauthor{Vincent Marchetti}{vincem@en.com}
+
+
+The \module{aepack} module defines functions for converting (packing)
+Python variables to AppleEvent descriptors and back (unpacking).
+Within Python the AppleEvent descriptor is handled by Python objects
+of built-in type \pytype{AEDesc}, defined in module \refmodule{AE}.
+
+The \module{aepack} module defines the following functions:
+
+
+\begin{funcdesc}{pack}{x\optional{, forcetype}}
+Returns an \class{AEDesc} object  containing a conversion of Python
+value x. If \var{forcetype} is provided it specifies the descriptor
+type of the result. Otherwise, a default mapping of Python types to
+Apple Event descriptor types is used, as follows:
+
+\begin{tableii}{l|l}{textrm}{Python type}{descriptor type}
+  \lineii{\class{FSSpec}}{typeFSS}
+  \lineii{\class{Alias}}{typeAlias}
+  \lineii{integer}{typeLong (32 bit integer)}
+  \lineii{float}{typeFloat (64 bit floating point)}
+  \lineii{string}{typeText}
+  \lineii{list}{typeAEList}
+  \lineii{dictionary}{typeAERecord}
+  \lineii{instance}{\emph{see below}}
+\end{tableii}  
+ 
+\pytype{FSSpec} and \pytype{Alias} are built-in object types defined
+in the module \refmodule{macfs}. 
+  
+If \var{x} is a Python instance then this function attempts to call an
+\method{__aepack__()} method.  This method should return an
+\pytype{AE.AEDesc} object.
+
+If the conversion \var{x} is not defined above, this function returns
+the Python string representation of a value (the repr() function)
+encoded as a text descriptor.
+\end{funcdesc}
+
+\begin{funcdesc}{unpack}{x}
+  \var{x} must be an object of type \class{AEDesc}. This function
+  returns a Python object representation of the data in the Apple
+  Event descriptor \var{x}. Simple AppleEvent data types (integer,
+  text, float) are returned as their obvious Python counterparts.
+  Apple Event lists are returned as Python lists, and the list
+  elements are recursively unpacked.  Object references
+  (ex. \code{line 3 of document 1}) are returned as instances of
+  \class{aetypes.ObjectSpecifier}.  AppleEvent descriptors with
+  descriptor type typeFSS are returned as \class{FSSpec}
+  objects.  AppleEvent record descriptors are returned as Python
+  dictionaries, with keys of type \class{?} and elements recursively
+  unpacked.
+\end{funcdesc}
+
+
+\begin{seealso}
+  \seemodule{AE}{Built-in access to Apple Event Manager routines.}
+  \seemodule{aetypes}{Python definitions of codes for Apple Event
+                      descriptor types.}
+  \seetitle[http://developer.apple.com/techpubs/mac/IAC/IAC-2.html]{
+            Inside Macintosh: Interapplication
+            Communication}{Information about inter-process
+            communications on the Macintosh.}
+\end{seealso}