\initial {#}
\entry {\samp {##}}{18}
\initial {A}
\entry {arguments in macro definitions}{10}
\entry {assertions}{36}
\entry {assertions, undoing}{37}
\initial {B}
\entry {blank macro arguments}{12}
\initial {C}
\entry {cascaded macros}{29}
\entry {commands}{3}
\entry {commenting out code}{34}
\entry {computed \samp {#include}}{5}
\entry {concatenation}{18}
\entry {conditionals}{30}
\initial {E}
\entry {expansion of arguments}{26}
\initial {F}
\entry {function-like macro}{10}
\initial {H}
\entry {header file}{3}
\initial {I}
\entry {including just once}{6}
\entry {inheritance}{8}
\entry {invocation of the preprocessor}{41}
\initial {L}
\entry {line control}{39}
\initial {M}
\entry {macro argument expansion}{26}
\entry {macro body uses macro}{29}
\entry {macros with argument}{10}
\entry {manifest constant}{9}
\initial {N}
\entry {newlines in macro arguments}{30}
\entry {null command}{40}
\initial {O}
\entry {options}{41}
\entry {output format}{41}
\entry {overriding a header file}{8}
\initial {P}
\entry {parentheses in macro bodies}{22}
\entry {pitfalls of macros}{21}
\entry {predefined macros}{13}
\entry {predicates}{36}
\entry {preprocessor commands}{3}
\entry {prescan of macro arguments}{26}
\entry {problems with macros}{21}
\initial {R}
\entry {redefining macros}{20}
\entry {repeated inclusion}{6}
\entry {retracting assertions}{37}
\initial {S}
\entry {second include path}{45}
\entry {self-reference}{25}
\entry {semicolons (after macro calls)}{23}
\entry {side effects (in macro arguments)}{24}
\entry {simple macro}{9}
\entry {space as macro argument}{12}
\entry {standard predefined macros}{13}
\entry {stringification}{17}
\initial {T}
\entry {testing predicates}{36}
\initial {U}
\entry {unassert}{37}
\entry {undefining macros}{20}
\entry {unsafe macros}{24}
