doc/sod.sty: Add indirection for printing modified description names.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 28 Jul 2019 01:46:25 +0000 (02:46 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 3 Aug 2019 15:27:42 +0000 (16:27 +0100)
The previous version just printed `MOD-' in front of the description
category name.  Now:

  * there's a `\descmod/MOD' macro which should decorate an appropriate
    piece of the category name; and

  * the category name macros themselves take an argument which they
    should apply to the part of the name which should be decorated.

doc/sod.sty

index 1e68eb3..293411c 100644 (file)
 }
 
 %% Lisp documentation machinery.
-\def\definedescribecategory#1#2{\@namedef{cat!#1}{#2}}
+\def\definedescribecategory#1#2{\@namedef{cat!#1}##1{#2}}
 \def\describecategoryname{\@ifnextchar[\@descname@i{\@descname@i[]}}
 \def\@descname@i[#1]#2{%
   \expandafter\let\expandafter\@tempa\csname cat!#2\endcsname%
-  \if!#1!\else\code{#1}-\fi%
-  \ifx\@tempa\relax#2\else\@tempa\fi}
+  \expandafter\let\expandafter\@tempb\csname descmod/#1\endcsname%
+  \ifx\@tempa\relax\@tempb{#2}\else\@tempa\@tempb\fi}
 \def\@maybe@modlabel#1#2{\if!#1!\else#1/\fi#2}
 
 \definedescribecategory{sym}{symbol}
-\definedescribecategory{fun}{function}
-\definedescribecategory{gf}{generic function}
+\definedescribecategory{fun}{#1{function}}
+\definedescribecategory{gf}{generic #1{function}}
 \definedescribecategory{msg}{message}
 \definedescribecategory{var}{variable}
 \definedescribecategory{modvar}{module variable}
 \definedescribecategory{const}{constant}
-\definedescribecategory{meth}{primary method}
-\definedescribecategory{ar-meth}{\code{:around} method}
-\definedescribecategory{be-meth}{\code{:before} method}
-\definedescribecategory{af-meth}{\code{:after} method}
+\definedescribecategory{meth}{primary #1{method}}
+\definedescribecategory{ar-meth}{\code{:around} #1{method}}
+\definedescribecategory{be-meth}{\code{:before} #1{method}}
+\definedescribecategory{af-meth}{\code{:after} #1{method}}
 \definedescribecategory{cls}{class}
 \definedescribecategory{rst}{restart}
 \definedescribecategory{ty}{type}
 \definedescribecategory{type}{type}
-\definedescribecategory{mac}{macro}
-\definedescribecategory{lmac}{local macro}
+\definedescribecategory{mac}{#1{macro}}
+\definedescribecategory{lmac}{local #1{macro}}
 \definedescribecategory{parse}{parser spec}
 \definedescribecategory{parseform}{parser form}
 \definedescribecategory{opt}{option handler}
 \definedescribecategory{plug}{pluggable parser}
 \def\nlret{\\\hspace{4em}\returns}
 
+\@namedef{descmod/}#1{#1}
+
+\@namedef{descmod/setf}#1{\code{setf}-#1}
+
 \def\q@{\q@}
 \def\@setf{setf}