X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/7cd5021096c6378f377bd3d1373b6960de3cf1d3..3e21ae3fa660b188bc20caec8c96c1f678405c25:/doc/sod.sty diff --git a/doc/sod.sty b/doc/sod.sty index 1f3655d..9fffa17 100644 --- a/doc/sod.sty +++ b/doc/sod.sty @@ -7,7 +7,7 @@ %%%----- 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 @@ -63,7 +63,10 @@ %% 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 @@ -113,7 +116,7 @@ \atdef !{\m@maybe|\@scripts} \def\returns{\m@maybe\longrightarrow\m@maybe@end\hspace{0.5em}\ignorespaces} \atdef >{\leavevmode\unskip\hspace{0.5em}\returns} -\atdef -#1{\if>#1{\ensuremath\rightarrow}\fi} +\atdef -#1{\if>#1\hbox{--\raisebox{.4pt}{>}}\penalty200\relax\fi} %% Comment setting. \atdef ;#1\\{\normalfont\itshape;#1\\} @@ -148,6 +151,7 @@ \definedescribecategory{sym}{symbol} \definedescribecategory{fun}{function} \definedescribecategory{gf}{generic function} +\definedescribecategory{msg}{message} \definedescribecategory{var}{variable} \definedescribecategory{modvar}{module variable} \definedescribecategory{const}{constant} @@ -157,6 +161,7 @@ \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} @@ -178,12 +183,26 @@ \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% @@ -196,7 +215,7 @@ \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