}
%% 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}