%%%----- Licensing notice ---------------------------------------------------
%%%
-%%% This file is part of the Sensble Object Design, an object system for C.
+%%% This file is part of the Sensible Object Design, an object system for C.
%%%
%%% SOD is free software; you can redistribute it and/or modify
%%% it under the terms of the GNU General Public License as published by
%% Literal code is in sans face.
\let\codeface\sffamily
-\def\code#1{\ifmmode\hbox\fi{\normalfont\codeface\/#1\/}}
+\DeclareRobustCommand\code[1]{%
+ \ifmmode\hbox\else\leavevmode\fi%
+ {\normalfont\codeface\/#1\/}%
+}
\def\ulitleft{\normalfont\codeface}
\let\ulitright\empty
\definedescribecategory{af-meth}{after method}
\definedescribecategory{cls}{class}
\definedescribecategory{ty}{type}
+\definedescribecategory{type}{type}
\definedescribecategory{mac}{macro}
\definedescribecategory{lmac}{local macro}
\definedescribecategory{parse}{parser spec}
\if@dheadfirst\global\@dheadfirstfalse\else\relax\\[\smallskipamount]\fi%
{\let\protect\@empty\def\@uscore{_\@gobble}\message{#2:#1}%
\def\@uscore{-\@gobble}\edef\@tempa{\noexpand\label{#2:#1}}\@tempa}%
+ {\begingroup\lccode`\~=`\_\lowercase{\endgroup\def~{_}}%
+ \protected@edef\@tempa##1{%
+ \noexpand\index{%
+ #1@{\noexpand\code{#1}}!%
+ \csname cat!#2\endcsname%
+ ##1%
+ }%
+ }%
+ \@tempa{|(}%
+ \toks@\expandafter{\after@desc}%
+ \toks\tw@\expandafter{\@tempa{|)}}%
+ \xdef\after@desc{\the\toks@\the\toks\tw@}}%
\rlap{\hb@xt@\linewidth{\hfil\normalfont\bfseries
[\describecategoryname{#2}]}}%
#3%
}
\def\desc@begin#1{%
+ \let\saved@after@desc\after@desc%
+ \gdef\after@desc{}%
\normalfont%
\if@nobreak\else\par\goodbreak\fi%
\global\@dheadfirsttrue%
\penalty\@M\@afterheading%
\list{}{\rightmargin\z@\topsep\z@}\item%
}
-\let\desc@end\endlist
+\def\desc@end{\endlist\after@desc\global\let\after@desc\saved@after@desc}
\@namedef{describe*}#1{\desc@begin{#1}}
\expandafter\let\csname enddescribe*\endcsname\desc@end