diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/l3experimental/xcoffins/commands-check.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/l3experimental/xcoffins/commands-check.tex | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/commands-check.tex b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/commands-check.tex new file mode 100644 index 00000000000..0d79e690945 --- /dev/null +++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/commands-check.tex @@ -0,0 +1,47 @@ +% +% Execute this TeX file with +% latex -interaction=batchmode commands-check +% +% The package loaded and the commands checked can be customised: +\providecommand\PKG{expl3} +\providecommand\CMDS{commands-check.cmds} + +\documentclass{minimal} +\usepackage{\PKG} +\makeatletter + +% "loop...if...then...repeat" from TeX by Topic: +\def\cmdchk@loop#1\cmdchk@repeat{\def\cmdchk@body{#1}\cmdchk@iterate} +\def\cmdchk@iterate{% + \let\cmdchk@next\relax + \cmdchk@body \let\cmdchk@next\cmdchk@iterate \fi \cmdchk@next} + +\let \@tempb \@empty +\newread \cmdchk@read +\openin \cmdchk@read \CMDS \relax + +\def\checkcmds{% + \begingroup + \catcode`\\=12 + \endlinechar=-1 + \loop + \read \cmdchk@read to \@tempa \relax + \ifx \@tempa \@empty + \closein \cmdchk@read + \else + \ifcsname \expandafter \@gobble \@tempa \endcsname + \else + \xdef \@tempb {\@tempb ^^J!>\space\space\space\space\@tempa} + \fi + \repeat + \endgroup + \ifx\@tempb\@empty\else + \nonstopmode + \errmessage{\@tempb^^J} + \batchmode + \fi +} +\makeatother +\begin{document} +\checkcmds +\end{document} |