Use \newenvironment{envname} instead of \newcommand{\foo} &
\newcommand{\endfoo} (or \let\endfoo=...!) wherever reasonable.
Where {*desc} environment helper functions are not needed outside a
single environment definition, inline them.
Ensure that \seemodule{} and \seetext{} are only available within the
{seealso} environment.
Added "()" to the index entries for {funcdesc} and {cfuncdesc} environments.
Added {classdesc} environment which looks like the {funcdesc} environment
but doesn't add the parens in the index entry.
&do_cmd_email: Adjust to use a font similar to that used in the printed
representation.
&my_module_index_helper: Change to be only used for defining markup. Don't
prepend an <A NAME=...> to the result; use the containing page as
the module target for the index.
&ref_module_index_helper: New function. Used only for references to modules
described elsewhere. Generate the right target.
&init_myformat: Set the anchor_mark to an empty string; this avoids junky
" "'s in the text, which could really screw up vertical spacing
when that's all that's in a paragraph.
&do_cmd_seemodule: Insert markup to jump right to the referred-to module.