texlive[53027] Master: oberdiek trimmed more; move some of the new

commits+karl at tug.org commits+karl at tug.org
Wed Dec 4 23:54:29 CET 2019


Revision: 53027
          http://tug.org/svn/texlive?view=revision&revision=53027
Author:   karl
Date:     2019-12-04 23:54:28 +0100 (Wed, 04 Dec 2019)
Log Message:
-----------
oberdiek trimmed more; move some of the new packages among collections per usage

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib
    trunk/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example1.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example2.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/atveryend.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-env.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-ltx.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-sec.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/example/hologo-example.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/gettitlestring.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hologo.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hopatch.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/kvdefinekeys.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/ltxcmds.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pagegrid.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfrender.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/picture.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/rerunfilecheck-example.cfg
    trunk/Master/texmf-dist/doc/latex/oberdiek/rerunfilecheck.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox-example.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter.pdf
    trunk/Master/texmf-dist/source/latex/oberdiek/README.txt
    trunk/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/atveryend.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/centernot.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/chemarr.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/classlist.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/colonequals.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/engord.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/enparen.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/fibnum.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/flags.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hologo.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hopatch.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hypcap.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/iflang.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
    trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
    trunk/Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pagesel.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/scrindex.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/settobox.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/stackrel.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/tabularht.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/telprint.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/twoopt.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx
    trunk/Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/engord.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/eolgrab.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/fibnum.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/hologo.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/hyphsubst.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/iflang.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/pdfcol.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/pdfrender.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/protecteddef.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/rotchiffre.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/soulutf8.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/telprint.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/atveryend.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/hopatch.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/hycolor.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/pagegrid.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolfoot.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparallel.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparcolumns.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdraw.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdrawenc.dfu
    trunk/Master/texmf-dist/tex/latex/oberdiek/refcount.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/resizegather.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
    trunk/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc
    trunk/Master/tlpkg/tlpsrc/oberdiek.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/letltxmacro-showcases.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/letltxmacro.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/mleftright.pdf
    trunk/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/grfext.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/mleftright.dtx
    trunk/Master/texmf-dist/tex/generic/oberdiek/embedfile.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/infwarerr.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/mleftright.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def
    trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def
    trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def
    trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
    trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def
    trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def
    trunk/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/grfext.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/letltxmacro.sty

Modified: trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib
===================================================================
--- trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,554 +1,497 @@
 @manual{oberdiek:accsupp,
   title={The accsupp package},
   author={Heiko Oberdiek},
-  date={2010-01-16},
-  version={0.3},
+  date={2018-03-28},
+  version={0.5},
   url={https://ctan.org/pkg/accsupp},
 }
 @manual{oberdiek:aliascnt,
   title={The aliascnt package},
   author={Heiko Oberdiek},
-  date={2009-09-08},
-  version={1.3},
+  date={2018-09-07},
+  version={1.5},
   url={https://ctan.org/pkg/aliascnt},
 }
 @manual{oberdiek:alphalph,
   title={The alphalph package},
   author={Heiko Oberdiek},
-  date={2011-05-13},
-  version={2.4},
+  date={2016-05-16},
+  version={2.5},
   url={https://ctan.org/pkg/alphalph},
 }
 @manual{oberdiek:askinclude,
   title={The askinclude package},
   author={Pablo A. Straub and Heiko Oberdiek},
-  date={2011-12-02},
-  version={2.2},
+  date={2018-11-01},
+  version={2.4},
   url={https://ctan.org/pkg/askinclude},
 }
 @manual{oberdiek:atbegshi,
   title={The atbegshi package},
   author={Heiko Oberdiek},
-  date={2011-10-05},
-  version={1.16},
+  date={2016-06-09},
+  version={1.18},
   url={https://ctan.org/pkg/atbegshi},
 }
 @manual{oberdiek:atenddvi,
   title={The atenddvi package},
   author={Heiko Oberdiek},
-  date={2007-04-17},
-  version={1.1},
+  date={2016-05-16},
+  version={1.2},
   url={https://ctan.org/pkg/atenddvi},
 }
 @manual{oberdiek:atveryend,
   title={The atveryend package},
   author={Heiko Oberdiek},
-  date={2011-06-30},
-  version={1.8},
+  date={2016-05-16},
+  version={1.9},
   url={https://ctan.org/pkg/atveryend},
 }
 @manual{oberdiek:auxhook,
   title={The auxhook package},
   author={Heiko Oberdiek},
-  date={2011-03-04},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/auxhook},
 }
 @manual{oberdiek:bigintcalc,
   title={The bigintcalc package},
   author={Heiko Oberdiek},
-  date={2012-04-08},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/bigintcalc},
 }
 @manual{oberdiek:bitset,
   title={The bitset package},
   author={Heiko Oberdiek},
-  date={2011-01-30},
-  version={1.1},
+  date={2016/05/16},
+  version={1.2},
   url={https://ctan.org/pkg/bitset},
 }
 @manual{oberdiek:bmpsize,
   title={The bmpsize package},
   author={Heiko Oberdiek},
-  date={2009-09-04},
-  version={1.6},
+  date={2016-05-16},
+  version={1.7},
   url={https://ctan.org/pkg/bmpsize},
 }
- at manual{oberdiek:bookmark,
-  title={The bookmark package},
-  author={Heiko Oberdiek},
-  date={2011-12-02},
-  version={1.24},
-  url={https://ctan.org/pkg/bookmark},
-}
 @manual{oberdiek:catchfile,
   title={The catchfile package},
   author={Heiko Oberdiek},
-  date={2011-03-01},
-  version={1.6},
+  date={2016-05-16},
+  version={1.7},
   url={https://ctan.org/pkg/catchfile},
 }
 @manual{oberdiek:centernot,
   title={The centernot package},
   author={Heiko Oberdiek},
-  date={2011-07-11},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/centernot},
 }
 @manual{oberdiek:chemarr,
   title={The chemarr package},
   author={Heiko Oberdiek},
-  date={2006-02-20},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/chemarr},
 }
 @manual{oberdiek:classlist,
   title={The classlist package},
   author={Heiko Oberdiek},
-  date={2011-10-17},
-  version={1.4},
+  date={2016-05-16},
+  version={1.5},
   url={https://ctan.org/pkg/classlist},
 }
 @manual{oberdiek:colonequals,
   title={The colonequals package},
   author={Heiko Oberdiek},
-  date={2006-08-01},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/colonequals},
 }
 @manual{oberdiek:dvipscol,
   title={The dvipscol package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/dvipscol},
 }
- at manual{oberdiek:embedfile,
-  title={The embedfile package},
-  author={Heiko Oberdiek},
-  date={2011-04-13},
-  version={2.6},
-  url={https://ctan.org/pkg/embedfile},
-}
 @manual{oberdiek:engord,
   title={The engord package},
   author={Heiko Oberdiek},
-  date={2010-03-01},
-  version={1.8},
+  date={2016-05-16},
+  version={1.9},
   url={https://ctan.org/pkg/engord},
 }
 @manual{oberdiek:enparen,
   title={The enparen package},
   author={Heiko Oberdiek},
-  date={2012-01-07},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/enparen},
 }
 @manual{oberdiek:eolgrab,
   title={The eolgrab package},
   author={Heiko Oberdiek},
-  date={2011-01-12},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/eolgrab},
 }
 @manual{oberdiek:etexcmds,
   title={The etexcmds package},
   author={Heiko Oberdiek},
-  date={2011-02-16},
-  version={1.5},
+  date={2016-05-16},
+  version={1.6},
   url={https://ctan.org/pkg/etexcmds},
 }
 @manual{oberdiek:fibnum,
   title={The fibnum package},
   author={Heiko Oberdiek},
-  date={2012-04-08},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/fibnum},
 }
 @manual{oberdiek:flags,
   title={The flags package},
   author={Heiko Oberdiek},
-  date={2007-09-30},
-  version={0.4},
+  date={2016-05-16},
+  version={0.5},
   url={https://ctan.org/pkg/flags},
 }
 @manual{oberdiek:gettitlestring,
   title={The gettitlestring package},
   author={Heiko Oberdiek},
-  date={2010-12-03},
-  version={1.4},
+  date={2016-05-16},
+  version={1.5},
   url={https://ctan.org/pkg/gettitlestring},
 }
- at manual{oberdiek:grfext,
-  title={The grfext package},
-  author={Heiko Oberdiek},
-  date={2010-08-19},
-  version={1.1},
-  url={https://ctan.org/pkg/grfext},
-}
- at manual{oberdiek:grffile,
-  title={The grffile package},
-  author={Heiko Oberdiek},
-  date={2012-04-05},
-  version={1.16},
-  url={https://ctan.org/pkg/grffile},
-}
- at manual{oberdiek:hobsub,
-  title={The hobsub package},
-  author={Heiko Oberdiek},
-  date={2012-05-28},
-  version={1.13},
-  url={https://ctan.org/pkg/hobsub},
-}
 @manual{oberdiek:hologo,
   title={The hologo package},
   author={Heiko Oberdiek},
-  date={2012-04-26},
-  version={1.10},
+  date={2017-05-01},
+  version={1.13},
   url={https://ctan.org/pkg/hologo},
 }
 @manual{oberdiek:holtxdoc,
   title={The holtxdoc package},
   author={Heiko Oberdiek},
-  date={2012-03-21},
-  version={0.24},
+  date={2019-11-12},
+  version={0.29},
   url={https://ctan.org/pkg/holtxdoc},
 }
 @manual{oberdiek:hopatch,
   title={The hopatch package},
   author={Heiko Oberdiek},
-  date={2012-05-28},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/hopatch},
 }
 @manual{oberdiek:hycolor,
   title={The hycolor package},
   author={Heiko Oberdiek},
-  date={2011-01-30},
-  version={1.7},
+  date={2016-05-16},
+  version={1.8},
   url={https://ctan.org/pkg/hycolor},
 }
 @manual{oberdiek:hypbmsec,
   title={The hypbmsec package},
   author={Heiko Oberdiek},
-  date={2007-04-11},
-  version={2.4},
+  date={2016-05-16},
+  version={2.5},
   url={https://ctan.org/pkg/hypbmsec},
 }
 @manual{oberdiek:hypcap,
   title={The hypcap package},
   author={Heiko Oberdiek},
-  date={2011-02-16},
-  version={1.11},
+  date={2016-05-16},
+  version={1.12},
   url={https://ctan.org/pkg/hypcap},
 }
 @manual{oberdiek:hypdestopt,
   title={The hypdestopt package},
   author={Heiko Oberdiek},
-  date={2011-05-13},
-  version={2.3},
+  date={2016-05-21},
+  version={2.5},
   url={https://ctan.org/pkg/hypdestopt},
 }
 @manual{oberdiek:hypdoc,
   title={The hypdoc package},
   author={Heiko Oberdiek},
-  date={2011-08-19},
-  version={1.11},
+  date={2018-09-07},
+  version={1.14},
   url={https://ctan.org/pkg/hypdoc},
 }
 @manual{oberdiek:hypgotoe,
   title={The hypgotoe package},
   author={Heiko Oberdiek},
-  date={2007-10-30},
-  version={0.1},
+  date={2016-05-16},
+  version={0.2},
   url={https://ctan.org/pkg/hypgotoe},
 }
 @manual{oberdiek:hyphsubst,
   title={The hyphsubst package},
   author={Heiko Oberdiek},
-  date={2008-06-09},
-  version={0.2},
+  date={2016-05-16},
+  version={0.3},
   url={https://ctan.org/pkg/hyphsubst},
 }
 @manual{oberdiek:ifdraft,
   title={The ifdraft package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/ifdraft},
 }
 @manual{oberdiek:iflang,
   title={The iflang package},
   author={Heiko Oberdiek},
-  date={2007-11-11},
-  version={1.5},
+  date={2018-01-21},
+  version={1.7},
   url={https://ctan.org/pkg/iflang},
 }
- at manual{oberdiek:infwarerr,
-  title={The infwarerr package},
-  author={Heiko Oberdiek},
-  date={2010-04-08},
-  version={1.3},
-  url={https://ctan.org/pkg/infwarerr},
-}
 @manual{oberdiek:intcalc,
   title={The intcalc package},
   author={Heiko Oberdiek},
-  date={2007-09-27},
-  version={1.1},
+  date={2016-05-16},
+  version={1.2},
   url={https://ctan.org/pkg/intcalc},
 }
 @manual{oberdiek:kvdefinekeys,
   title={The kvdefinekeys package},
   author={Heiko Oberdiek},
-  date={2011-04-07},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/kvdefinekeys},
 }
 @manual{oberdiek:kvsetkeys,
   title={The kvsetkeys package},
   author={Heiko Oberdiek},
-  date={2012-04-25},
-  version={1.16},
+  date={2016-05-16},
+  version={1.17},
   url={https://ctan.org/pkg/kvsetkeys},
 }
- at manual{oberdiek:letltxmacro,
-  title={The letltxmacro package},
-  author={Heiko Oberdiek},
-  date={2010-09-02},
-  version={1.4},
-  url={https://ctan.org/pkg/letltxmacro},
-}
 @manual{oberdiek:listingsutf8,
   title={The listingsutf8 package},
   author={Heiko Oberdiek},
-  date={2011-11-10},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/listingsutf8},
 }
 @manual{oberdiek:ltxcmds,
   title={The ltxcmds package},
   author={Heiko Oberdiek},
-  date={2011-11-09},
-  version={1.22},
+  date={2016-05-16},
+  version={1.23},
   url={https://ctan.org/pkg/ltxcmds},
 }
- at manual{oberdiek:mleftright,
-  title={The mleftright package},
-  author={Heiko Oberdiek},
-  date={2010-09-25},
-  version={1.0},
-  url={https://ctan.org/pkg/mleftright},
-}
 @manual{oberdiek:pagegrid,
   title={The pagegrid package},
   author={Heiko Oberdiek},
-  date={2009-12-04},
-  version={1.4},
+  date={2016-05-16},
+  version={1.5},
   url={https://ctan.org/pkg/pagegrid},
 }
 @manual{oberdiek:pagesel,
   title={The pagesel package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={1.8},
+  date={2016-05-16},
+  version={1.9},
   url={https://ctan.org/pkg/pagesel},
 }
 @manual{oberdiek:pdfcol,
   title={The pdfcol package},
   author={Heiko Oberdiek},
-  date={2007-12-12},
-  version={1.2},
+  date={2018-11-01},
+  version={1.5},
   url={https://ctan.org/pkg/pdfcol},
 }
 @manual{oberdiek:pdfcolfoot,
   title={The pdfcolfoot package},
   author={Heiko Oberdiek},
-  date={2012-01-02},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/pdfcolfoot},
 }
 @manual{oberdiek:pdfcolparallel,
   title={The pdfcolparallel package},
   author={Heiko Oberdiek},
-  date={2010-01-11},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/pdfcolparallel},
 }
 @manual{oberdiek:pdfcolparcolumns,
   title={The pdfcolparcolumns package},
   author={Heiko Oberdiek},
-  date={2010-01-11},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/pdfcolparcolumns},
 }
 @manual{oberdiek:pdfcrypt,
   title={The pdfcrypt package},
   author={Heiko Oberdiek},
-  date={2007-04-26},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/pdfcrypt},
 }
 @manual{oberdiek:pdfescape,
   title={The pdfescape package},
   author={Heiko Oberdiek},
-  date={2011-11-25},
-  version={1.13},
+  date={2016-05-16},
+  version={1.14},
   url={https://ctan.org/pkg/pdfescape},
 }
 @manual{oberdiek:pdflscape,
   title={The pdflscape package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={0.10},
+  date={2016-05-16},
+  version={0.11},
   url={https://ctan.org/pkg/pdflscape},
 }
 @manual{oberdiek:pdfrender,
   title={The pdfrender package},
   author={Heiko Oberdiek},
-  date={2010-01-28},
-  version={1.2},
+  date={2018-11-01},
+  version={1.5},
   url={https://ctan.org/pkg/pdfrender},
 }
 @manual{oberdiek:picture,
   title={The picture package},
   author={Heiko Oberdiek},
-  date={2009-10-11},
-  version={1.3},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/picture},
 }
 @manual{oberdiek:pmboxdraw,
   title={The pmboxdraw package},
   author={Heiko Oberdiek},
-  date={2011-03-24},
-  version={1.1},
+  date={2019-02-28},
+  version={1.3},
   url={https://ctan.org/pkg/pmboxdraw},
 }
 @manual{oberdiek:protecteddef,
   title={The protecteddef package},
   author={Heiko Oberdiek},
-  date={2011-01-31},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/protecteddef},
 }
 @manual{oberdiek:refcount,
   title={The refcount package},
   author={Heiko Oberdiek},
-  date={2011-10-16},
-  version={3.4},
+  date={2016-05-16},
+  version={3.5},
   url={https://ctan.org/pkg/refcount},
 }
 @manual{oberdiek:rerunfilecheck,
   title={The rerunfilecheck package},
   author={Heiko Oberdiek},
-  date={2011-04-15},
-  version={1.7},
+  date={2016-05-16},
+  version={1.8},
   url={https://ctan.org/pkg/rerunfilecheck},
 }
 @manual{oberdiek:resizegather,
   title={The resizegather package},
   author={Heiko Oberdiek},
-  date={2010-03-01},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/resizegather},
 }
 @manual{oberdiek:rotchiffre,
   title={The rotchiffre package},
   author={Heiko Oberdiek},
-  date={2010-11-12},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/rotchiffre},
 }
 @manual{oberdiek:scrindex,
   title={The scrindex package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={1.1},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/scrindex},
 }
 @manual{oberdiek:selinput,
   title={The selinput package},
   author={Heiko Oberdiek},
-  date={2007-09-09},
-  version={1.2},
+  date={2016-05-16},
+  version={1.4},
   url={https://ctan.org/pkg/selinput},
 }
 @manual{oberdiek:setouterhbox,
   title={The setouterhbox package},
   author={Heiko Oberdiek},
-  date={2007-09-09},
-  version={1.7},
+  date={2016-05-16},
+  version={1.8},
   url={https://ctan.org/pkg/setouterhbox},
 }
 @manual{oberdiek:settobox,
   title={The settobox package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={1.4},
+  date={2016-05-16},
+  version={1.5},
   url={https://ctan.org/pkg/settobox},
 }
 @manual{oberdiek:soulutf8,
   title={The soulutf8 package},
   author={Heiko Oberdiek},
-  date={2007-09-09},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/soulutf8},
 }
 @manual{oberdiek:stackrel,
   title={The stackrel package},
   author={Heiko Oberdiek},
-  date={2007-11-11},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/stackrel},
 }
 @manual{oberdiek:stampinclude,
   title={The stampinclude package},
   author={Heiko Oberdiek},
-  date={2008-07-14},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/stampinclude},
 }
 @manual{oberdiek:tabularht,
   title={The tabularht package},
   author={Heiko Oberdiek},
-  date={2007-04-11},
-  version={2.5},
+  date={2016-05-16},
+  version={2.6},
   url={https://ctan.org/pkg/tabularht},
 }
 @manual{oberdiek:tabularkv,
   title={The tabularkv package},
   author={Heiko Oberdiek},
-  date={2006-02-20},
-  version={1.1},
+  date={2016-05-16},
+  version={1.2},
   url={https://ctan.org/pkg/tabularkv},
 }
 @manual{oberdiek:telprint,
   title={The telprint package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={1.10},
+  date={2016-05-16},
+  version={1.11},
   url={https://ctan.org/pkg/telprint},
 }
 @manual{oberdiek:thepdfnumber,
   title={The thepdfnumber package},
   author={Heiko Oberdiek},
-  date={2011-11-24},
-  version={1.0},
+  date={2016-05-16},
+  version={1.1},
   url={https://ctan.org/pkg/thepdfnumber},
 }
 @manual{oberdiek:twoopt,
   title={The twoopt package},
   author={Heiko Oberdiek},
-  date={2008-08-11},
-  version={1.5},
+  date={2016-05-16},
+  version={1.6},
   url={https://ctan.org/pkg/twoopt},
 }
 @manual{oberdiek:uniquecounter,
   title={The uniquecounter package},
   author={Heiko Oberdiek},
-  date={2011-01-30},
-  version={1.2},
+  date={2016-05-16},
+  version={1.3},
   url={https://ctan.org/pkg/uniquecounter},
 }
-

Added: trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt	2019-12-04 22:54:28 UTC (rev 53027)
@@ -0,0 +1,29 @@
+README           2019/12/03
+
+This file describes the directory
+  CTAN:macros/latex/contrib/oberdiek/
+
+It contains several packages:
+  <package>.dtx: source code
+  <package>.pdf: documentation
+
+Installation is easier, if you want to install all packages:
+Just download
+  CTAN:install/macros/latex/contrib/oberdiek.tds.zip
+and unzip it in your preferred TDS (texmf) tree.
+
+
+Other files in the CTAN directory:
+* README: This file.
+* oberdiek.tex, oberdiek.pdf:
+  Table of contents of all packages in the directory.
+  It contains the table of contents and the abstract of the packages.
+  The name is a convenience to users of the program `texdoc'.
+
+Happy TeXing
+  Heiko Oberdiek
+  and
+  Oberdiek Package Support Group
+  ho-tex at tug.org
+  Preferred bug reporting address is now
+  https://github.com/ho-tex/oberdiek/issues


Property changes on: trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example1.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example1.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -74,6 +74,7 @@
 \newpage
 The last page.
 \end{document}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `atbegshi-example1.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example2.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi-example2.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -59,6 +59,7 @@
   \newpage
   Second page
 \end{document}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `atbegshi-example2.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/atveryend.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,139 +0,0 @@
-%%
-%% This is file `bookmark-example.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `example')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\documentclass{article}
-\usepackage{xcolor}[2007/01/21]
-\usepackage{hyperref}
-\usepackage[
-  open,
-  openlevel=2,
-  atend
-]{bookmark}[2019/06/04]
-
-\bookmarksetup{color=blue}
-
-\BookmarkAtEnd{%
-  \bookmarksetup{startatroot}%
-  \bookmark[named=LastPage, level=0]{End/Last page}%
-  \bookmark[named=FirstPage, level=1]{First page}%
-}
-
-\begin{document}
-\section{First section}
-\subsection{Subsection A}
-\begin{figure}
-  \hypertarget{fig}{}%
-  A figure.
-\end{figure}
-\bookmark[
-  rellevel=1,
-  keeplevel,
-  dest=fig
-]{A figure}
-\subsection{Subsection B}
-\subsubsection{Subsubsection C}
-\subsection{Umlauts: \"A\"O\"U\"a\"o\"u\ss}
-\newpage
-\bookmarksetup{
-  bold,
-  color=[rgb]{1,0,0}
-}
-\section{Very important section}
-\bookmarksetup{
-  italic,
-  bold=false,
-  color=blue
-}
-\subsection{Italic section}
-\bookmarksetup{
-  italic=false
-}
-\part{Misc}
-\section{Diverse}
-\subsubsection{Subsubsection, omitting subsection}
-\bookmarksetup{
-  startatroot
-}
-\section{Last section outside part}
-\subsection{Subsection}
-\bookmarksetup{
-  color={}
-}
-\begingroup
-  \bookmarksetup{level=0, color=green!80!black}
-  \bookmark[named=FirstPage]{First page}
-  \bookmark[named=LastPage]{Last page}
-  \bookmark[named=PrevPage]{Previous page}
-  \bookmark[named=NextPage]{Next page}
-\endgroup
-\bookmark[
-  page=2,
-  view=FitH 800
-]{Page 2, FitH 800}
-\bookmark[
-  page=2,
-  view=FitBH \calc{\paperheight-\topmargin-1in-\headheight-\headsep}
-]{Page 2, FitBH top of text body}
-\bookmark[
-  uri={http://www.dante.de/},
-  color=magenta
-]{Dante homepage}
-\bookmark[
-  gotor={t.pdf},
-  page=1,
-  view={XYZ 0 1000 null},
-  color=cyan!75!black
-]{File t.pdf}
-\bookmark[named=FirstPage]{First page}
-\bookmark[rellevel=1, named=LastPage]{Last page (rellevel=1)}
-\bookmark[named=PrevPage]{Previous page}
-\bookmark[level=0, named=FirstPage]{First page (level=0)}
-\bookmark[
-  rellevel=1,
-  keeplevel,
-  named=LastPage
-]{Last page (rellevel=1, keeplevel)}
-\bookmark[named=PrevPage]{Previous page}
-\end{document}
-
-\endinput
-%%
-%% End of file `bookmark-example.tex'.

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,106 +0,0 @@
-%%
-%% This is file `embedfile-example-collection.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% embedfile.dtx  (with options: `examplecollection')
-%% 
-%% This is a generated file.
-%% 
-%% Project: embedfile
-%% Version: 2018/11/01 v2.8
-%% 
-%% Copyright (C)
-%%    2006-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file embedfile.dtx
-%% and the derived files
-%%    embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
-%%    dtx-attach.sty, embedfile-example-plain.tex,
-%%    embedfile-example-collection.tex, embedfile-test1.tex,
-%%    embedfile-test2.tex, embedfile-test3.tex,
-%%    embedfile-test4.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage[bookmarks=false]{hyperref}
-% provides \pdfstringdef that is then used by `title' and
-% other keys.
-\usepackage{embedfile}[2018/11/01]
-\embedfilesetup{
-  view=details,
-  initialfile=embedfile.pdf
-}
-\embedfilefield{file}{
-  type=file,
-  title={File name}
-}
-\embedfilefield{description}{
-  type=desc,
-  title={Description}
-}
-\embedfilefield{date}{
-  type=moddate,
-  title={Date}
-}
-\embedfilefield{size}{
-  type=size,
-  title={Size}
-}
-\embedfilefield{type}{
-  type=text,
-  title={Type},
-  visible=false
-}
-\embedfilesort{
-  type,
-  date=descending
-}
-\begin{document}
-An example for embedded files as collection.
-You need Acrobat Reader 8 or higher.
-
-\embedfile[
-  desc={Source file of package `embedfile'},
-  description.prefix={Package: },
-  type.value={DTX}
-]{embedfile.dtx}
-
-\embedfile[
-  desc={Documentation of package `embedfile'},
-  description.prefix={Package: },
-  type.value={PDF}
-]{embedfile.pdf}
-
-\embedfile[
-  desc={The source for this example},
-  description.prefix={Example: },
-  type.value={TEX}
-]{\jobname.tex}
-
-\end{document}
-\endinput
-%%
-%% End of file `embedfile-example-collection.tex'.

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,81 +0,0 @@
-%%
-%% This is file `embedfile-example-plain.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% embedfile.dtx  (with options: `exampleplain')
-%% 
-%% This is a generated file.
-%% 
-%% Project: embedfile
-%% Version: 2018/11/01 v2.8
-%% 
-%% Copyright (C)
-%%    2006-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file embedfile.dtx
-%% and the derived files
-%%    embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
-%%    dtx-attach.sty, embedfile-example-plain.tex,
-%%    embedfile-example-collection.tex, embedfile-test1.tex,
-%%    embedfile-test2.tex, embedfile-test3.tex,
-%%    embedfile-test4.tex.
-%% 
-% Load packages
-\input miniltx
-% \def\Gin at driver{pdftex.def}
-% \input graphicx.sty
-\input embedfile.sty
-\resetatcatcode
-
-% default setting
-\embedfilesetup{
-  mimetype=text/plain
-}
-
-% Embed files
-\embedfile[
-  filespec=example.tex,
-  desc={Source code (plain-TeX) of this example}
-]{embedfile-example-plain.tex}
-
-\embedfile[
-  desc={Source of package `embedfile'}
-]{embedfile.dtx}
-
-\embedfile[
-  mimetype=application/pdf,
-  desc={Documentation of package `embedfile'}
-]{embedfile.pdf}
-
-% Some text
-This example document contains three embedded files.
-
-% End of document
-\embedfilefinish % don't forget
-\bye
-\endinput
-%%
-%% End of file `embedfile-example-plain.tex'.

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-env.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-env.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-env.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -61,6 +61,7 @@
       is the second syllable of foobar.
   \End description
 \End document
+%% \section{Installation}
 \endinput
 %%
 %% End of file `eolgrab-example-env.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-ltx.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-ltx.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-ltx.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -48,6 +48,7 @@
 \eolgrab\section Hello World
 \eolgrab\emph Some text
 \eolgrab\end document
+%% \section{Installation}
 \endinput
 %%
 %% End of file `eolgrab-example-ltx.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-sec.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-sec.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/example/eolgrab-example-sec.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,6 +66,7 @@
 \eolsection*Section with star
 \eolsection[Short section title]Long section title
 \end{document}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `eolgrab-example-sec.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/example/hologo-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/example/hologo-example.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/example/hologo-example.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -159,6 +159,7 @@
 
 \end{landscape}
 \end{document}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `hologo-example.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/gettitlestring.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hologo.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hopatch.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/kvdefinekeys.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -87,6 +87,7 @@
   \tag{/html}\\
 \end{tabbing}
 \end{document}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `kvsetkeys-example.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/letltxmacro-showcases.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/letltxmacro-showcases.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/letltxmacro-showcases.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,110 +0,0 @@
-%%
-%% This is file `letltxmacro-showcases.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% letltxmacro.dtx  (with options: `showcases')
-%% 
-%% This is a generated file.
-%% 
-%% Project: letltxmacro
-%% Version: 2016/05/16 v1.5
-%% 
-%% Copyright (C)
-%%    2008, 2010 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file letltxmacro.dtx
-%% and the derived files
-%%    letltxmacro.sty, letltxmacro.pdf, letltxmacro.ins, letltxmacro.drv,
-%%    letltxmacro-showcases.tex, letltxmacro-test1.tex,
-%%    letltxmacro-test2.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-\newcommand*{\Line}[1]{%
-  \typeout{\@percentchar#1}%
-}
-\newcommand*{\ShowCmdName}[1]{%
-  \@ifundefined{#1}{}{%
-    \Line{%
-      \space\space(\expandafter\string\csname#1\endcsname) = %
-      (\expandafter\meaning\csname#1\endcsname)%
-    }%
-  }%
-}
-\newcommand*{\ShowCmds}[1]{%
-  \ShowCmdName{#1}%
-  \ShowCmdName{#1 }%
-  \ShowCmdName{\\#1}%
-  \ShowCmdName{\\#1 }%
-}
-\let\\\@backslashchar
-\newcommand*{\ShowDef}[2]{%
-  \begingroup
-    \Line{}%
-    \newcommand*{\DefString}{#2}%
-    \@onelevel at sanitize\DefString
-    \Line{\DefString}%
-    #2%
-    \ShowCmds{#1}%
-  \endgroup
-}
-\typeout{}
-\Line{* LaTeX definitions:}
-\ShowDef{cmd}{%
-  \newcommand{\cmd}[2][default]{}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}{}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}[2][default]{}%
-}
-\typeout{}
-\RequirePackage{etoolbox}[2008/06/12]%
-\Line{}
-\Line{* etoolbox's robust definitions:}
-\ShowDef{cmd}{%
-  \newrobustcmd{\cmd}{}%
-}
-\ShowDef{cmd}{%
-  \newrobustcmd{\cmd}[2][default]{}%
-}
-\Line{}
-\Line{* etoolbox's \string\robustify:}
-\ShowDef{cmd}{%
-  \newcommand{\cmd}[2][default]{} %
-  \robustify{\cmd}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}{} %
-  \robustify{\cmd}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}[2][default]{} %
-  \robustify{\cmd}%
-}
-\typeout{}
-\@@end
-\endinput
-%%
-%% End of file `letltxmacro-showcases.tex'.

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/letltxmacro.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/ltxcmds.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/mleftright.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pagegrid.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfrender.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/picture.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/rerunfilecheck-example.cfg
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/rerunfilecheck-example.cfg	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/rerunfilecheck-example.cfg	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,2 +1,3 @@
 \ProvidesFile{rerunfilecheck.cfg}[2016/05/16 Default configuration]%
 \RerunFileCheckSetup{aux}
+%% \section{Installation}

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/rerunfilecheck.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox-example.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox-example.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -69,6 +69,7 @@
 \unhbox\testbox
 
 \end{document}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `setouterhbox-example.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -64,6 +64,7 @@
   Top: \PrintAnchorName{Top}\\%
   Left: \PrintAnchorName{Left}%
 \end{document}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `uniquecounter-example.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/README.txt
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/README.txt	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/README.txt	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,4 +1,4 @@
-README           2019/11/29
+README           2019/12/03
 
 This file describes the directory
   CTAN:macros/latex/contrib/oberdiek/

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,7 +1,7 @@
 % \iffalse meta-comment
 %
 % File: accsupp.dtx
-% Version: 2018/01/30 v0.5
+% Version: 2018/03/28 v0.5
 % Info: Accessibility support by marked content
 %
 % Copyright (C)
@@ -72,7 +72,6 @@
 %    TDS:doc/latex/oberdiek/accsupp.pdf
 %    TDS:doc/latex/oberdiek/accsupp-example1.tex
 %    TDS:doc/latex/oberdiek/accsupp-example2.tex
-%    TDS:doc/latex/oberdiek/test/accsupp-test1.tex
 %    TDS:source/latex/oberdiek/accsupp.dtx
 %
 %<*ignore>
@@ -150,10 +149,6 @@
   \file{accsupp-example2.tex}{\from{accsupp.dtx}{example2}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{accsupp-test1.tex}{\from{accsupp.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{accsupp.xml}{\from{accsupp.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -191,21 +186,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{accsupp.drv}
 %
@@ -900,63 +880,6 @@
 %    \begin{macrocode}
 %</dvips>
 %    \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@\@ne
-  \repeat
-}
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{127}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\{=1 %
-  \catcode`\}=2 %
-  \catcode`\#=6 %
-  \catcode`\[=12 %
-  \catcode`\]=12 %
-  \catcode`\%=14 %
-  \catcode`\ =10 %
-  \catcode13=5 %
-  \RequirePackage{accsupp}[2018/03/28]\relax
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
 % \section{Installation}
 %
 % \subsection{Download}
@@ -1012,7 +935,6 @@
 %   accsupp.pdf & doc/latex/oberdiek/accsupp.pdf\\
 %   accsupp-example1.tex & doc/latex/oberdiek/accsupp-example1.tex\\
 %   accsupp-example2.tex & doc/latex/oberdiek/accsupp-example2.tex\\
-%   test/accsupp-test1.tex & doc/latex/oberdiek/test/accsupp-test1.tex\\
 %   accsupp.dtx & source/latex/oberdiek/accsupp.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{aliascnt.drv}{\from{aliascnt.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{aliascnt.sty}{\from{aliascnt.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{aliascnt.xml}{\from{aliascnt.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{aliascnt.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,9 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/alphalph.sty
 %    TDS:doc/latex/oberdiek/alphalph.pdf
-%    TDS:doc/latex/oberdiek/test/alphalph-test1.tex
-%    TDS:doc/latex/oberdiek/test/alphalph-test2.tex
-%    TDS:doc/latex/oberdiek/test/alphalph-test3.tex
 %    TDS:source/latex/oberdiek/alphalph.dtx
 %
 %<*ignore>
@@ -141,10 +138,6 @@
 %  \file{alphalph-test1.tex}{\from{alphalph.dtx}{test1}}%
 %  \file{alphalph-test2.tex}{\from{alphalph.dtx}{test2,etex}}%
 %  \file{alphalph-test3.tex}{\from{alphalph.dtx}{test2,noetex}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{alphalph.xml}{\from{alphalph.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -207,21 +200,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{alphalph.drv}
 %
@@ -1303,353 +1281,6 @@
 %</package>
 %    \end{macrocode}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input alphalph.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Macro tests}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<*noetex>
-\makeatletter
-\let\saved at numexpr\numexpr
-\newcommand*{\DisableNumexpr}{%
-  \let\numexpr\@undefined
-}
-\newcommand*{\RestoreNumexpr}{%
-  \let\numexpr\saved at numexpr
-}
-\DisableNumexpr
-%</noetex>
-\usepackage{alphalph}[2016/05/16]
-%<noetex>\RestoreNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\TestCmd}[3]{%
-  \setbox0=\hbox{%
-%<noetex>    \DisableNumexpr
-    \edef\TestString{#1{#2}}%
-    \expandafter\Expect\expandafter{\TestString}{#3}%
-    \edef\TestString{#1{#2} }%
-    \expandafter\Expect\expandafter{\TestString}{#3 }%
-  }%
-  \Expect*{\the\wd0}{0.0pt}%
-}
-
-\makeatletter
-\newalphalph\LaTeXAlphAlph\@Alph{26}
-\newalphalph\LaTeXalphalph\@alph{26}
-\newalphalph\AlphWrap[wrap]\alphalph at Alph{26}
-\newalphalph\alphwrap[wrap]\alphalph at alph{26}
-\newalphalph\LaTeXAlphWrap[wrap]\@Alph{26}
-\newalphalph\LaTeXalphwrap[wrap]\@alph{26}
-\def\LastSymbol#1{%
-  \ifx\\#1\\%
-  \else
-    \@LastSymbol#1\@nil
-  \fi
-}
-\def\@LastSymbol#1#2\@nil{%
-  \ifx\\#2\\%
-    #1%
-  \else
-    \@LastSymbol#2\@nil
-  \fi
-}
-\makeatother
-\newcommand*{\TestAlph}[2]{%
-  \uppercase{\TestCallCmd\AlphAlph{#2}}{#1}%
-  \lowercase{\TestCallCmd\alphalph{#2}}{#1}%
-  \uppercase{\TestCallCmd\LaTeXAlphAlph{#2}}{#1}%
-  \lowercase{\TestCallCmd\LaTeXalphalph{#2}}{#1}%
-  \edef\WrapString{\LastSymbol{#2}}%
-  \expandafter\TestAlphWrap\expandafter{\WrapString}{#1}%
-}
-\newcommand*{\TestAlphWrap}[2]{%
-  \uppercase{\TestCallCmd\AlphWrap{#1}}{#2}%
-  \lowercase{\TestCallCmd\alphwrap{#1}}{#2}%
-  \uppercase{\TestCallCmd\LaTeXAlphWrap{#1}}{#2}%
-  \lowercase{\TestCallCmd\LaTeXalphwrap{#1}}{#2}%
-}
-\newcommand*{\TestCallCmd}[3]{%
-  \TestCmd#1{#3}{#2}%
-}
-\begin{qstest}{AlphSymbols}{alphalph, AlphAlph, symbols}
-  \TestAlph{1}{a}%
-  \TestAlph{2}{b}%
-  \TestAlph{3}{c}%
-  \TestAlph{4}{d}%
-  \TestAlph{5}{e}%
-  \TestAlph{6}{f}%
-  \TestAlph{7}{g}%
-  \TestAlph{8}{h}%
-  \TestAlph{9}{i}%
-  \TestAlph{10}{j}%
-  \TestAlph{11}{k}%
-  \TestAlph{12}{l}%
-  \TestAlph{13}{m}%
-  \TestAlph{14}{n}%
-  \TestAlph{15}{o}%
-  \TestAlph{16}{p}%
-  \TestAlph{17}{q}%
-  \TestAlph{18}{r}%
-  \TestAlph{19}{s}%
-  \TestAlph{20}{t}%
-  \TestAlph{21}{u}%
-  \TestAlph{22}{v}%
-  \TestAlph{23}{w}%
-  \TestAlph{24}{x}%
-  \TestAlph{25}{y}%
-  \TestAlph{26}{z}%
-\end{qstest}
-\begin{qstest}{AlphRange}{alphalph, range}
-  \TestAlph{0}{}%
-  \TestAlph{-1}{}%
-  \TestAlph{-2147483647}{}%
-  \TestAlph{27}{aa}%
-  \TestAlph{28}{ab}%
-  \TestAlph{52}{az}%
-  \TestAlph{53}{ba}%
-  \TestAlph{78}{bz}%
-  \TestAlph{79}{ca}%
-  \TestAlph{702}{zz}%
-  \TestAlph{703}{aaa}%
-  \TestAlph{2147483647}{fxshrxw}%
-\end{qstest}
-
-\makeatletter
-\newcommand*{\myvocals}[1]{%
-  \ifcase#1X\or A\or E\or I\or O\or U\else Y\fi
-}
-\makeatother
-\newalphalph\vocalsvocals\myvocals{5}
-\newcommand*{\TestVocals}{%
-  \TestCmd\vocalsvocals
-}
-\begin{qstest}{vocals}{vocals}
-  \TestVocals{0}{}%
-  \TestVocals{1}{A}%
-  \TestVocals{2}{E}%
-  \TestVocals{3}{I}%
-  \TestVocals{4}{O}%
-  \TestVocals{5}{U}%
-  \TestVocals{6}{AA}%
-  \TestVocals{7}{AE}%
-  \TestVocals{8}{AI}%
-  \TestVocals{9}{AO}%
-  \TestVocals{10}{AU}%
-  \TestVocals{11}{EA}%
-  \TestVocals{24}{OO}%
-  \TestVocals{25}{OU}%
-  \TestVocals{26}{UA}%
-  \TestVocals{29}{UO}%
-  \TestVocals{30}{UU}%
-  \TestVocals{31}{AAA}%
-  \TestVocals{155}{UUU}%
-  \TestVocals{156}{AAAA}%
-  \TestVocals{2147483647}{AIIOOEEIOIIUOE}%
-\end{qstest}
-
-\makeatletter
-\newalphalph\AlphMult[mult]{\alphalph at Alph}{26}
-\newalphalph\alphmult[mult]{\alphalph at alph}{26}
-\newalphalph\LaTeXAlphMult[mult]{\@Alph}{26}
-\newalphalph\LaTeXalphmult[mult]{\@alph}{26}
-\makeatother
-\newcommand*{\TestMult}[2]{%
-  \uppercase{\TestCallCmd\AlphMult{#2}}{#1}%
-  \lowercase{\TestCallCmd\alphmult{#2}}{#1}%
-  \uppercase{\TestCallCmd\LaTeXAlphMult{#2}}{#1}%
-  \lowercase{\TestCallCmd\LaTeXalphmult{#2}}{#1}%
-}
-\begin{qstest}{mult}{mult}
-  \TestMult{0}{}%
-  \TestMult{-1}{}%
-  \TestMult{-2147483647}{}%
-  \TestMult{1}{a}%
-  \TestMult{2}{b}%
-  \TestMult{26}{z}%
-  \TestMult{27}{aa}%
-  \TestMult{28}{bb}%
-  \TestMult{52}{zz}%
-  \TestMult{53}{aaa}%
-  \TestMult{54}{bbb}%
-  \TestMult{259}{yyyyyyyyyy}%
-  \TestMult{260}{zzzzzzzzzz}%
-  \TestMult{261}{aaaaaaaaaaa}%
-  \TestMult{262}{bbbbbbbbbbb}%
-\end{qstest}
-
-\def\myvocalsB#1{%
-  \ifcase#1\or A\or E\or I\or O\or U\fi
-}
-\begin{qstest}{symbolnum}{symbolnum}
-  \makeatletter
-  \def\Test#1#2{%
-    \let\TestCmd\relax
-    \newalphalph\TestCmd{#1}{}%
-    \Expect*{\AlPh at Number}{#2}%
-  }%
-  \Test\@alph{26}%
-  \Test\@Alph{26}%
-  \Test\@fnsymbol{9}%
-  \Test\myvocalsB{5}%
-  \Test\alphalph at alph{26}%
-  \Test\alphalph at Alph{26}%
-\end{qstest}
-
-\begin{qstest}{list}{list}
-  \makeatletter
-  \def\catch#1\relax{%
-    \def\FoundList{\catch#1}%
-  }%
-  \def\Test[#1]#2#3#4{%
-    \let\testcmd\relax
-    \newalphalph\testcmd[{#1}]{\catch}{#2}%
-    \testcmd{#3}|\relax
-    \expandafter\Expect\expandafter{\FoundList}{#4|}%
-    %
-    \let\SavedCatch\catch
-    \def\catch{\noexpand\catch\noexpand\foo}%
-    \edef\Result{#4|}%
-    \@onelevel at sanitize\Result
-    \let\catch\SavedCatch
-    \let\testcmd\relax
-    \newalphalph\testcmd[{#1}]{\catch\foo}{#2}%
-    \testcmd{#3}|\relax
-    \@onelevel at sanitize\FoundList
-    \Expect*{\FoundList}*{\Result}%
-  }%
-  \Test[alph]{26}{3}{\catch{3}}%
-  \Test[alph]{26}{12}{\catch{12}}%
-  \Test[alph]{26}{27}{\catch{1}\catch{1}}%
-  \Test[alph]{26}{78}{\catch{2}\catch{26}}%
-  \Test[wrap]{26}{7}{\catch{7}}%
-  \Test[wrap]{26}{14}{\catch{14}}%
-  \Test[wrap]{26}{80}{\catch{2}}%
-  \Test[wrap]{26}{700}{\catch{24}}%
-  \Test[mult]{26}{4}{\catch{4}}%
-  \Test[mult]{26}{17}{\catch{17}}%
-  \Test[mult]{26}{54}{\catch{2}\catch{2}\catch{2}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
 % \section{Installation}
 %
 % \subsection{Download}
@@ -1699,9 +1330,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   alphalph.sty & tex/generic/oberdiek/alphalph.sty\\
 %   alphalph.pdf & doc/latex/oberdiek/alphalph.pdf\\
-%   test/alphalph-test1.tex & doc/latex/oberdiek/test/alphalph-test1.tex\\
-%   test/alphalph-test2.tex & doc/latex/oberdiek/test/alphalph-test2.tex\\
-%   test/alphalph-test3.tex & doc/latex/oberdiek/test/alphalph-test3.tex\\
 %   alphalph.dtx & source/latex/oberdiek/alphalph.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -78,33 +78,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/askinclude.sty
 %    TDS:doc/latex/oberdiek/askinclude.pdf
-%    TDS:doc/latex/oberdiek/test/askinclude-a.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-b.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-c.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test1.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test2.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test3.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test4.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test5.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test6.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test7.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test8.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test9.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test10.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test11.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test12.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test13.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test14.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test15.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test16.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test17.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test18.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test19.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test20.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test21.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test22.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test23.tex
-%    TDS:doc/latex/oberdiek/test/askinclude-test24.tex
 %    TDS:source/latex/oberdiek/askinclude.dtx
 %
 %<*ignore>
@@ -217,10 +190,6 @@
 %  \file{askinclude-test22.tex}{\from{askinclude.dtx}{test0,test22}}%
 %  \file{askinclude-test23.tex}{\from{askinclude.dtx}{test0,test23}}%
 %  \file{askinclude-test24.tex}{\from{askinclude.dtx}{test0,test24}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{askinclude.xml}{\from{askinclude.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -304,21 +273,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{askinclude.drv}
 %
@@ -1672,994 +1626,6 @@
 \AskInc at AtEnd%
 %</package>
 %    \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Included files}
-%
-%    \begin{macrocode}
-%<*a>
-\chapter{Chapter A}
-\let\filea=Y
-%</a>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*b>
-\chapter{Chapter B}
-\let\fileb=Y
-%</b>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*c>
-\chapter{Chapter C}
-\let\filec=Y
-%</c>
-%    \end{macrocode}
-%
-% \subsection{Special test setup}
-%
-%    \begin{macrocode}
-%<*test18>
-\includeonly{askinclude-b}
-%</test18>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test20|test21|test22>
-\let\AtBeginDocumentMode=N%
-%</test20|test21|test22>
-%    \end{macrocode}
-%
-% \subsection{Common start}
-%
-%    \begin{macrocode}
-%<*test0>
-\ifx\CompatibilityMode Y%
-  \documentstyle[filecontents,qstest,askinclude,pdftexcmds]{book}%
-\else
-  \documentclass{book}%
-  \usepackage{filecontents}%
-  \usepackage{qstest}%
-  \usepackage{pdftexcmds}%
-%<*test1>
-  \makeatletter
-  \def\RestoreCatcodes{}%
-  \count@=0 %
-  \loop
-    \edef\RestoreCatcodes{%
-      \RestoreCatcodes
-      \catcode\the\count@=\the\catcode\count@\relax
-    }%
-  \ifnum\count@<255 %
-    \advance\count@\@ne
-  \repeat
-  \def\RangeCatcodeInvalid#1#2{%
-    \count@=#1\relax
-    \loop
-      \catcode\count@=15 %
-    \ifnum\count@<#2\relax
-      \advance\count@\@ne
-    \repeat
-  }%
-  \def\Test#1\EndTest{%
-    \RangeCatcodeInvalid{0}{47}%
-    \RangeCatcodeInvalid{58}{64}%
-    \RangeCatcodeInvalid{91}{96}%
-    \RangeCatcodeInvalid{123}{255}%
-    \catcode`\@=12 %
-    \catcode`\\=0 %
-    \catcode`\{=1 %
-    \catcode`\}=2 %
-    \catcode`\#=6 %
-    \catcode`\[=12 %
-    \catcode`\]=12 %
-    \catcode`\%=14 %
-    \catcode`\ =10 %
-    \catcode13=5 %
-    #1\relax
-    \RestoreCatcodes
-    \makeatother
-  }%
-  \Test
-%</test1>
-%<*!test1>
-  \ifx\AtBeginDocumentMode Y%
-    \AtBeginDocument{%
-      \usepackage{askinclude}[2018/11/01]%
-    }%
-  \else
-%</!test1>
-    \usepackage{askinclude}[2018/11/01]%
-%<*!test1>
-  \fi
-%</!test1>
-%<*test1>
-  \EndTest
-%</test1>
-\fi
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-\let\org at typein\typein
-\def\typein[#1]#2{%
-  \ifx\@Stack\@StackEmpty
-    \begin{qstest}{StackNonEmpty}{StackNonEmpty}%
-      \Expect{Error: empty stack}{}%
-    \end{qstest}%
-    \org at typein[{#1}]{#2}%
-  \else
-    \edef#1{%
-      \unexpanded\expandafter\expandafter\expandafter{%
-        \expandafter\@car\@Stack\@nil
-      }%
-    }%
-    \xdef\@Stack{%
-      \unexpanded\expandafter\expandafter\expandafter{%
-        \expandafter\@cdr\@Stack\@nil
-      }%
-    }%
-    \typeout{}%
-    \typeout{\string#1=#1}%
-  \fi
-}
-\def\@StackEmpty{\BOTTOM}
-\let\@Stack\@StackEmpty
-\newcommand*{\Stack}[1]{%
-  \def\@Stack{#1\BOTTOM}%
-}
-\AtEndDocument{%
-  \begin{qstest}{StackUsed}{StackUsed}%
-    \Expect*{%
-      \ifx\@Stack\@StackEmpty
-      \else
-        Error: Unused stack entries%
-      \fi
-    }{}%
-  \end{qstest}%
-}
-\newcommand*{\CheckInclude}[2]{%
-  \include{askinclude-#1}%
-  \begin{qstest}{CheckInclude-#1}{CheckInclude-#1}%
-    \Expect*{%
-      \expandafter\ifx\csname file#1\endcsname Ytrue\else false\fi
-    }{#2}%
-  \end{qstest}%
-}
-\def\@EndChecks{}
-\AtBeginDocument{%
-  \AtEndDocument{%
-    \if at filesw
-      \immediate\write\@mainaux{\string\@EndChecks}%
-    \fi
-  }%
-}
-\newcommand*{\CheckAnswer}[1]{%
-  \gdef\AnswerText{#1}%
-  \g at addto@macro\@EndChecks{\@CheckAnswer}%
-}
-\def\@CheckAnswer{%
-  \begin{qstest}{CheckAnswer}{CheckAnswer}%
-    \Expect*{\unexpanded\expandafter{\AskInc at Answer}}%
-           *{\unexpanded\expandafter{\AnswerText}}%
-  \end{qstest}%
-}
-\newcommand*{\CheckMatchMethod}[1]{%
-  \gdef\MatchMethodText{#1}%
-  \g at addto@macro\@EndChecks{\@CheckMatchMethod}%
-}
-\def\@CheckMatchMethod{%
-  \begin{qstest}{CheckMatchMethod}{CheckMatchMethod}%
-    \Expect*{\unexpanded\expandafter{\AskInc at MatchMethod}}%
-           *{\unexpanded\expandafter{\MatchMethodText}}%
-  \end{qstest}%
-}
-\def\@CheckAux{%
-  \begin{qstest}{CheckAux}{CheckAux}%
-    \def\GetFileContents##1{%
-      \pdf at unescapehex{%
-        \pdf at filedump{0}{\pdf at filesize{##1}}{##1}%
-      }%
-    }%
-    \Expect*{\GetFileContents{\jobname.aux}}%
-           *{\GetFileContents{\jobname-aux.aux}}%
-  \end{qstest}%
-}
-\g at addto@macro\@EndChecks{\@CheckAux}
-\let\org at filec@ntents\filec at ntents
-\def\filec at ntents{%
-  \catcode`\|=0 %
-  \org at filec@ntents
-}
-\begingroup
-  \endlinechar=-1 %
-  \catcode`\|=0 %
-  \@makeother\#%
-  \@makeother\\%
-  |gdef|AddList{%
-    \providecommand*\AskInc at AddList[2]{%
-      \ifcase\ifx#1\@undefined
-             \else\ifx#1\relax
-             \else\ifx#1\@empty
-             \else1\fi\fi\fi0 %
-        \gdef#1{#2}%
-      \else
-        \g at addto@macro#1{,#2}%
-      \fi
-    }%
-  }%
-  |gdef|AddFile{%
-    \providecommand\AskInc at AddFile{%
-      \AskInc at AddList\AskInc at Files
-    }%
-  }%
-  |gdef|AddMatch{%
-    \providecommand\AskInc at AddMatch{%
-      \AskInc at AddList\AskInc at MatchFiles
-    }%
-  }%
-|endgroup
-%</test0>
-%    \end{macrocode}
-%
-% \subsection{First run tests}
-%
-%    \begin{macrocode}
-%<*test1>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{*}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test1>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test2>
-\Stack{*}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{*}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test3>
-\Stack{-}%
-\CheckAnswer{-}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{-}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test3>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test4>
-\Stack{{askinclude-b}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{askinclude-b}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test4>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test5>
-\Stack{{askinclude-a,askinclude-c}}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{askinclude-a,askinclude-c}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test5>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test6>
-\Stack{?yny}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\gdef\AskInc at Answer{askinclude-a,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test6>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test7>
-\Stack{?yA}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\gdef\AskInc at Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\gdef\AskInc at Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test7>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test8>
-\Stack{?yD}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\gdef\AskInc at Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\gdef\AskInc at Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test8>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test9>
-\Stack{?yN}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test9>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test10>
-\Stack{?{}N}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test10>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test11>
-\Stack{?xxyxxN}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test11>
-%    \end{macrocode}
-%
-% \subsection{Second run tests}
-%
-%    \begin{macrocode}
-%<*test12>
-\Stack{{}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{askinclude-b}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\AskInc at AddFile{askinclude-c}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{askinclude-b}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test12>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test13>
-\Stack{{}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{askinclude-b}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{askinclude-b}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test13>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test14>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{*}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{*}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test14>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test15>
-\Stack{?D}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{askinclude-a}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\gdef\AskInc at Answer{askinclude-a,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test15>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test16>
-\Stack{?A}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{askinclude-a}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\gdef\AskInc at Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\gdef\AskInc at Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\gdef\AskInc at Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test16>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test17>
-\Stack{?N}
-\CheckAnswer{}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{askinclude-a}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test17>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test18>
-\Stack{}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{askinclude-a}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{askinclude-a}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test18>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test19>
-\Stack{?N}
-\CheckAnswer{}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc at Answer{askinclude-a}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\AskInc at AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\ifx\AtBeginDocumentMode Y%
-  \AtBeginDocument{\includeonly{askinclude-b}}%
-\else
-  \includeonly{askinclude-b}%
-\fi
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test19>
-%    \end{macrocode}
-%
-% \subsection{Compatibility for changing from old to new}
-%
-%    \begin{macrocode}
-%<*test20>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{*}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{*}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test20>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test21>
-\Stack{{}}
-\CheckAnswer{-}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{-}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test21>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test22>
-\Stack{{}}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{askinclude-a,askinclude-c}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{askinclude-a,askinclude-c}
-\gdef\AskInc at MatchMethod{}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test22>
-%    \end{macrocode}
-%
-% \subsection{Regular expressions}
-%
-%    \begin{macrocode}
-%<*test23>
-\Stack{{makematch}{*,!askinclude-b}}
-\CheckAnswer{*,!askinclude-b}
-\CheckMatchMethod{makematch}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{*,!askinclude-b}
-\gdef\AskInc at MatchMethod{makematch}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-|AddMatch
-\AskInc at AddMatch{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\AskInc at AddMatch{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test23>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test24>
-\Stack{{pdfmatch}{.,!askinclude-b}}
-\CheckAnswer{.,!askinclude-b}
-\CheckMatchMethod{pdfmatch}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc at Answer{.,!askinclude-b}
-\gdef\AskInc at MatchMethod{pdfmatch}
-|AddList
-|AddFile
-\AskInc at AddFile{askinclude-a}
-|AddMatch
-\AskInc at AddMatch{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc at AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc at AddFile{askinclude-c}
-\AskInc at AddMatch{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test24>
-%    \end{macrocode}
-%
-%
-% \subsection{Common end}
-%
-%    \begin{macrocode}
-%<*test0>
-\end{document}
-%</test0>
-%    \end{macrocode}
-%
 % \section{Installation}
 %
 % \subsection{Download}
@@ -2709,33 +1675,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   askinclude.sty & tex/latex/oberdiek/askinclude.sty\\
 %   askinclude.pdf & doc/latex/oberdiek/askinclude.pdf\\
-%   test/askinclude-a.tex & doc/latex/oberdiek/test/askinclude-a.tex\\
-%   test/askinclude-b.tex & doc/latex/oberdiek/test/askinclude-b.tex\\
-%   test/askinclude-c.tex & doc/latex/oberdiek/test/askinclude-c.tex\\
-%   test/askinclude-test1.tex & doc/latex/oberdiek/test/askinclude-test1.tex\\
-%   test/askinclude-test2.tex & doc/latex/oberdiek/test/askinclude-test2.tex\\
-%   test/askinclude-test3.tex & doc/latex/oberdiek/test/askinclude-test3.tex\\
-%   test/askinclude-test4.tex & doc/latex/oberdiek/test/askinclude-test4.tex\\
-%   test/askinclude-test5.tex & doc/latex/oberdiek/test/askinclude-test5.tex\\
-%   test/askinclude-test6.tex & doc/latex/oberdiek/test/askinclude-test6.tex\\
-%   test/askinclude-test7.tex & doc/latex/oberdiek/test/askinclude-test7.tex\\
-%   test/askinclude-test8.tex & doc/latex/oberdiek/test/askinclude-test8.tex\\
-%   test/askinclude-test9.tex & doc/latex/oberdiek/test/askinclude-test9.tex\\
-%   test/askinclude-test10.tex & doc/latex/oberdiek/test/askinclude-test10.tex\\
-%   test/askinclude-test11.tex & doc/latex/oberdiek/test/askinclude-test11.tex\\
-%   test/askinclude-test12.tex & doc/latex/oberdiek/test/askinclude-test12.tex\\
-%   test/askinclude-test13.tex & doc/latex/oberdiek/test/askinclude-test13.tex\\
-%   test/askinclude-test14.tex & doc/latex/oberdiek/test/askinclude-test14.tex\\
-%   test/askinclude-test15.tex & doc/latex/oberdiek/test/askinclude-test15.tex\\
-%   test/askinclude-test16.tex & doc/latex/oberdiek/test/askinclude-test16.tex\\
-%   test/askinclude-test17.tex & doc/latex/oberdiek/test/askinclude-test17.tex\\
-%   test/askinclude-test18.tex & doc/latex/oberdiek/test/askinclude-test18.tex\\
-%   test/askinclude-test19.tex & doc/latex/oberdiek/test/askinclude-test19.tex\\
-%   test/askinclude-test20.tex & doc/latex/oberdiek/test/askinclude-test20.tex\\
-%   test/askinclude-test21.tex & doc/latex/oberdiek/test/askinclude-test21.tex\\
-%   test/askinclude-test22.tex & doc/latex/oberdiek/test/askinclude-test22.tex\\
-%   test/askinclude-test23.tex & doc/latex/oberdiek/test/askinclude-test23.tex\\
-%   test/askinclude-test24.tex & doc/latex/oberdiek/test/askinclude-test24.tex\\
 %   askinclude.dtx & source/latex/oberdiek/askinclude.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -69,9 +69,6 @@
 %    TDS:doc/latex/oberdiek/atbegshi.pdf
 %    TDS:doc/latex/oberdiek/atbegshi-example1.tex
 %    TDS:doc/latex/oberdiek/atbegshi-example2.tex
-%    TDS:doc/latex/oberdiek/test/atbegshi-test1.tex
-%    TDS:doc/latex/oberdiek/test/atbegshi-test2.tex
-%    TDS:doc/latex/oberdiek/test/atbegshi-test3.tex
 %    TDS:source/latex/oberdiek/atbegshi.dtx
 %
 %<*ignore>
@@ -148,10 +145,6 @@
 %  \file{atbegshi-test1.tex}{\from{atbegshi.dtx}{test1}}%
 %  \file{atbegshi-test2.tex}{\from{atbegshi.dtx}{test2}}%
 %  \file{atbegshi-test3.tex}{\from{atbegshi.dtx}{test3}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{atbegshi.xml}{\from{atbegshi.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -188,21 +181,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{atbegshi.drv}
 %
@@ -1866,273 +1844,8 @@
 \AtBegShi at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input atbegshi.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test2>
-\input atbegshi.sty\relax
-\def\msg#{\immediate\write16}
-\msg{File: atbegshi-test2.tex 2016/06/09 v1.18 Test file for plain-TeX}
-\def\testmsg#1#2{%
-  \msg{}%
-  \msg{*** Test with box (#1), expected page output [#2]}% hash-ok
-}
-
-\newbox\voidbox
-\def\void{\box\voidbox}
-\begingroup
-  \setbox\voidbox=\void
-\endgroup
-
-\count0=0\relax
-\AtBeginShipout{%
-  \global\advance\count0 by 1\relax
-  \msg{* Inside \string\AtBeginShipout: [\the\count0]}%
-}
-
-\AtBeginShipoutFirst{%
-  \msg{* Inside \string\AtBeginShipoutFirst}%
-  Hello World%
-}
-
-\testmsg{\string\null}{1}
-\shipout\null
-
-\AtBeginShipoutFirst{%
-  This is too late%
-}
-
-\testmsg{void}{}
-\shipout\void
-
-\testmsg{\string\copy255 (not void)}{2}
-\setbox255\hbox{\vrule height 10bp width 10bp}
-\shipout\copy255 %
-
-\testmsg{\string\copy255 (again)}{3}
-\shipout\copy255 %
-
-\testmsg{\string\box255}{4}
-\shipout\box255 %
-
-\testmsg{\string\box255 (again)}{}
-\shipout\box255 %
-
-\testmsg{\string\hbox}{5}
-\shipout\hbox{\vrule height 5bp width 20bp}
-
-\testmsg{\string\vbox}{6}
-\shipout\vbox{\hrule height 20bp width 5bp}
-
-\testmsg{\string\null, voided by hook}{}
-\def\VoidBox{%
-  \begingroup
-    \setbox\AtBeginShipoutBox=\box\AtBeginShipoutBox
-  \endgroup
-}
-\AtBeginShipout{\VoidBox}
-\shipout\null
-\def\VoidBox{}
-
-\msg{*** \string\begingroup}
-\begingroup
-  \testmsg{void}{}%
-  \shipout\void
-\msg{*** \string\endgroup}
-\endgroup
-
-\msg{*** \string\begingroup}
-\begingroup
-  \testmsg{void}{}%
-  \shipout\void
-  \testmsg{\string\null}{8}%
-  \shipout\null
-\msg{*** \string\endgroup}
-\endgroup
-
-\testmsg{output routine}{9}
-Hello World
-\vfill
-\eject
-
-\testmsg{\string\null\space(discarded)}{}
-\AtBeginShipout{%
-  \msg{* Inside \string\AtBeginShipout: DISCARD}%
-  \AtBeginShipoutDiscard
-}
-\shipout\null
-
-\end
-%</test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{atbegshi-test3.tex}[2016/06/09 v1.18 Test file for LaTeX]
-\RequirePackage{color}
-\pagecolor{yellow}
-\documentclass[a5paper,showtrims]{memoir}
-\usepackage{atbegshi}
-\AtBeginShipout{%
-  \setbox\AtBeginShipoutBox=\vbox{%
-    \vbox to 0pt{%
-      \kern-1.5in %
-      \hbox to 0pt{%
-        \kern-1.5in %
-        \color{blue}%
-        \rule{1in}{1in}%
-        \hss
-      }%
-      \vss
-    }%
-    \hrule
-    \hbox{\vrule\box\AtBeginShipoutBox\vrule}%
-    \hrule
-  }%
-}
-\usepackage{eso-pic}
-\makeatletter
-\@ifundefined{@EveryShipout at Init}{%
-  \typeout{Test skipped}%
-  \@@end
-}{}
-\@EveryShipout at Init
-\let\@EveryShipout at Init\relax
-\makeatother
-\AddToShipoutPicture{%
-  \hspace{.52\paperwidth}%
-  \colorbox{cyan}{%
-    \rule{0mm}{\paperheight}%
-    \hspace{.48\paperwidth}%
-  }%
-}
-%    \end{macrocode}
-%    Newer versions of class \xclass{memoir} emulate package
-%    \xpackage{crop} and prevents its loading. This is undone
-%    in next line for this test file.
-%    \begin{macrocode}
-\expandafter\let\csname ver at crop.sty\endcsname\relax
-\usepackage[color=red,cross,a4,center]{crop}
-\begin{document}
-\shipout\null
-\shipout\box\csname voidb at x\endcsname
-\section{Hello World}
-\end{document}
-%</test3>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -2182,9 +1895,6 @@
 %   atbegshi.pdf & doc/latex/oberdiek/atbegshi.pdf\\
 %   atbegshi-example1.tex & doc/latex/oberdiek/atbegshi-example1.tex\\
 %   atbegshi-example2.tex & doc/latex/oberdiek/atbegshi-example2.tex\\
-%   test/atbegshi-test1.tex & doc/latex/oberdiek/test/atbegshi-test1.tex\\
-%   test/atbegshi-test2.tex & doc/latex/oberdiek/test/atbegshi-test2.tex\\
-%   test/atbegshi-test3.tex & doc/latex/oberdiek/test/atbegshi-test3.tex\\
 %   atbegshi.dtx & source/latex/oberdiek/atbegshi.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{atenddvi.drv}{\from{atenddvi.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{atenddvi.sty}{\from{atenddvi.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{atenddvi.xml}{\from{atenddvi.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{atenddvi.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/atveryend.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/atveryend.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/atveryend.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -63,7 +63,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/atveryend.sty
 %    TDS:doc/latex/oberdiek/atveryend.pdf
-%    TDS:doc/latex/oberdiek/test/atveryend-test1.tex
 %    TDS:source/latex/oberdiek/atveryend.dtx
 %
 %<*ignore>
@@ -131,10 +130,6 @@
   \file{atveryend.sty}{\from{atveryend.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{atveryend-test1.tex}{\from{atveryend.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{atveryend.xml}{\from{atveryend.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +166,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{atveryend.drv}
 %
@@ -1187,119 +1167,8 @@
 \AtVeryEnd at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input atveryend.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1347,7 +1216,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   atveryend.sty & tex/latex/oberdiek/atveryend.sty\\
 %   atveryend.pdf & doc/latex/oberdiek/atveryend.pdf\\
-%   test/atveryend-test1.tex & doc/latex/oberdiek/test/atveryend-test1.tex\\
 %   atveryend.dtx & source/latex/oberdiek/atveryend.dtx\\
 % \end{tabular}^^A
 % }^^A
@@ -1478,13 +1346,13 @@
 % James Darrell McCauley, Jeff Goldberg:
 % \textit{The \xpackage{endfloat} package};
 % 1995/10/11 v2.4i;
-% \CTAN{macros/latex/contrib/endfloat/endfloat.pdf}.
+% \CTANpkg{endfloat}.
 %
 % \bibitem{etoolbox}
 % Philipp Lehmann:
 % \textit{The \xpackage{etoolbox} package};
 % 2009/08/06 v1.8;
-% \CTAN{macros/latex/contrib/etoolbox/etoolbox.pdf}.
+% \CTANpkg{etoolbox}.
 %
 % \bibitem{hyperref}
 % Sebastian Rahtz, Heiko Oberdiek:

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{auxhook.drv}{\from{auxhook.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{auxhook.sty}{\from{auxhook.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{auxhook.xml}{\from{auxhook.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{auxhook.drv}
 %
@@ -581,7 +562,7 @@
 % \bibitem{hypdestopt}
 %   Heiko Oberdiek: \textit{The \xpackage{hypdestopt} package};
 %   2006/05/30 v1.0;
-%   \CTAN{macros/latex/contrib/oberdiek/hypdestopt.pdf}.
+%   \CTANpkg{hypdestopt}.
 %
 % \bibitem{hyperref}
 %   Sebastian Rahtz, Heiko Oberdiek:
@@ -592,7 +573,7 @@
 % \bibitem{zref}
 %   Heiko Oberdiek: \textit{The \xpackage{zref} package};
 %   2006/05/25 v1.2;
-%   \CTAN{macros/latex/contrib/oberdiek/zref.pdf}.
+%   \CTANpkg{zref}.
 %
 % \end{thebibliography}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,9 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/bigintcalc.sty
 %    TDS:doc/latex/oberdiek/bigintcalc.pdf
-%    TDS:doc/latex/oberdiek/test/bigintcalc-test1.tex
-%    TDS:doc/latex/oberdiek/test/bigintcalc-test2.tex
-%    TDS:doc/latex/oberdiek/test/bigintcalc-test3.tex
 %    TDS:source/latex/oberdiek/bigintcalc.dtx
 %
 %<*ignore>
@@ -143,10 +140,6 @@
 %  \file{bigintcalc-test1.tex}{\from{bigintcalc.dtx}{test1}}%
 %  \file{bigintcalc-test2.tex}{\from{bigintcalc.dtx}{test2,etex}}%
 %  \file{bigintcalc-test3.tex}{\from{bigintcalc.dtx}{test2,noetex}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{bigintcalc.xml}{\from{bigintcalc.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -218,21 +211,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{bigintcalc.drv}
 %
@@ -3395,933 +3373,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input bigintcalc.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble with test macro definitions}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedNumexpr\numexpr
-%<noetex>\let\numexpr\UNDEFINED
-\makeatletter
-\chardef\BIC at TestMode=1 %
-\makeatother
-\usepackage{bigintcalc}[2016/05/16]
-%<noetex>\let\numexpr\SavedNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\newcommand*{\TestSpaceAtEnd}[1]{%
-%<noetex>  \let\SavedNumexpr\numexpr
-%<noetex>  \let\numexpr\UNDEFINED
-  \edef\resultA{#1}%
-  \edef\resultB{#1 }%
-%<noetex>  \let\numexpr\SavedNumexpr
-  \Expect*{\resultA\space}*{\resultB}%
-}
-\newcommand*{\TestResult}[2]{%
-%<noetex>  \let\SavedNumexpr\numexpr
-%<noetex>  \let\numexpr\UNDEFINED
-  \edef\result{#1}%
-%<noetex>  \let\numexpr\SavedNumexpr
-  \Expect*{\result}{#2}%
-}
-\newcommand*{\TestResultTwoExpansions}[2]{%
-%<*noetex>
-  \begingroup
-    \let\numexpr\UNDEFINED
-    \expandafter\expandafter\expandafter
-  \endgroup
-%</noetex>
-  \expandafter\expandafter\expandafter\Expect
-  \expandafter\expandafter\expandafter{#1}{#2}%
-}
-\newcount\TestCount
-%<etex>\newcommand*{\TestArg}[1]{\numexpr#1\relax}
-%<noetex>\newcommand*{\TestArg}[1]{#1}
-\newcommand*{\TestTeXDivide}[2]{%
-  \TestCount=\TestArg{#1}\relax
-  \divide\TestCount by \TestArg{#2}\relax
-  \Expect*{\bigintcalcDiv{#1}{#2}}*{\the\TestCount}%
-}
-\newcommand*{\Test}[2]{%
-  \TestResult{#1}{#2}%
-  \TestResultTwoExpansions{#1}{#2}%
-  \TestSpaceAtEnd{#1}%
-}
-\newcommand*{\TestExch}[2]{\Test{#2}{#1}}
-\newcommand*{\TestInv}[2]{%
-  \Test{\bigintcalcInv{#1}}{#2}%
-}
-\newcommand*{\TestAbs}[2]{%
-  \Test{\bigintcalcAbs{#1}}{#2}%
-}
-\newcommand*{\TestSgn}[2]{%
-  \Test{\bigintcalcSgn{#1}}{#2}%
-}
-\newcommand*{\TestMin}[3]{%
-  \Test{\bigintcalcMin{#1}{#2}}{#3}%
-}
-\newcommand*{\TestMax}[3]{%
-  \Test{\bigintcalcMax{#1}{#2}}{#3}%
-}
-\newcommand*{\TestCmp}[3]{%
-  \Test{\bigintcalcCmp{#1}{#2}}{#3}%
-}
-\newcommand*{\TestOdd}[2]{%
-  \Test{\bigintcalcOdd{#1}}{#2}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\BigIntCalcOdd
-      \bigintcalcAbs{#1}!%
-    }{#2}%
-  }%
-  \x
-}
-\newcommand*{\TestInc}[2]{%
-  \Test{\bigintcalcInc{#1}}{#2}%
-  \ifnum\bigintcalcSgn{#1}>-1 %
-    \edef\x{%
-      \noexpand\Test{%
-        \noexpand\BigIntCalcInc\bigintcalcNum{#1}!%
-      }{#2}%
-    }%
-    \x
-  \fi
-}
-\newcommand*{\TestDec}[2]{%
-  \Test{\bigintcalcDec{#1}}{#2}%
-  \ifnum\bigintcalcSgn{#1}>0 %
-    \edef\x{%
-      \noexpand\Test{%
-        \noexpand\BigIntCalcDec\bigintcalcNum{#1}!%
-      }{#2}%
-    }%
-    \x
-  \fi
-}
-\newcommand*{\TestAdd}[3]{%
-  \Test{\bigintcalcAdd{#1}{#2}}{#3}%
-  \ifnum\bigintcalcSgn{#1}>0 %
-    \ifnum\bigintcalcSgn{#2}> 0 %
-      \ifnum\bigintcalcCmp{#1}{#2}>0 %
-        \edef\x{%
-          \noexpand\Test{%
-            \noexpand\BigIntCalcAdd
-            \bigintcalcNum{#1}!\bigintcalcNum{#2}!%
-          }{#3}%
-        }%
-        \x
-      \else
-        \edef\x{%
-          \noexpand\Test{%
-            \noexpand\BigIntCalcAdd
-            \bigintcalcNum{#2}!\bigintcalcNum{#1}!%
-          }{#3}%
-        }%
-        \x
-      \fi
-    \fi
-  \fi
-}
-\newcommand*{\TestSub}[3]{%
-  \Test{\bigintcalcSub{#1}{#2}}{#3}%
-  \ifnum\bigintcalcSgn{#1}>0 %
-    \ifnum\bigintcalcSgn{#2}> 0 %
-      \ifnum\bigintcalcCmp{#1}{#2}>0 %
-        \edef\x{%
-          \noexpand\Test{%
-            \noexpand\BigIntCalcSub
-            \bigintcalcNum{#1}!\bigintcalcNum{#2}!%
-          }{#3}%
-        }%
-        \x
-      \fi
-    \fi
-  \fi
-}
-\newcommand*{\TestShl}[2]{%
-  \Test{\bigintcalcShl{#1}}{#2}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\BigIntCalcShl\bigintcalcAbs{#1}!%
-    }{\bigintcalcAbs{#2}}%
-  }%
-  \x
-}
-\newcommand*{\TestShr}[2]{%
-  \Test{\bigintcalcShr{#1}}{#2}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\BigIntCalcShr\bigintcalcAbs{#1}!%
-    }{\bigintcalcAbs{#2}}%
-  }%
-  \x
-}
-\newcommand*{\TestMul}[3]{%
-  \Test{\bigintcalcMul{#1}{#2}}{#3}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\BigIntCalcMul
-      \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
-    }{\bigintcalcAbs{#3}}%
-  }%
-  \x
-}
-\newcommand*{\TestSqr}[2]{%
-  \Test{\bigintcalcSqr{#1}}{#2}%
-}
-\newcommand*{\TestFac}[2]{%
-  \expandafter\TestExch\expandafter{%
-    \the\numexpr#2%
-  }{\bigintcalcFac{#1}}%
-}
-\newcommand*{\TestFacBig}[2]{%
-  \Test{\bigintcalcFac{#1}}{#2}%
-}
-\newcommand*{\TestPow}[3]{%
-  \Test{\bigintcalcPow{#1}{#2}}{#3}%
-}
-\newcommand*{\TestDiv}[3]{%
-  \Test{\bigintcalcDiv{#1}{#2}}{#3}%
-  \TestTeXDivide{#1}{#2}%
-}
-\newcommand*{\TestDivBig}[3]{%
-  \Test{\bigintcalcDiv{#1}{#2}}{#3}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\BigIntCalcDiv\bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
-    }{\bigintcalcAbs{#3}}%
-  }%
-}
-\newcommand*{\TestMod}[3]{%
-  \Test{\bigintcalcMod{#1}{#2}}{#3}%
-  \ifcase\ifcase\bigintcalcSgn{#1} 0%
-         \or
-           \ifcase\bigintcalcSgn{#2} 1%
-           \or 0%
-           \else 1%
-           \fi
-         \else
-           \ifcase\bigintcalcSgn{#2} 1%
-           \or 1%
-           \else 0%
-           \fi
-         \fi\relax
-    \edef\x{%
-      \noexpand\Test{%
-        \noexpand\BigIntCalcMod
-        \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
-      }{\bigintcalcAbs{#3}}%
-    }%
-    \x
-  \fi
-}
-%    \end{macrocode}
-%
-% \subsubsection{Time}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
-  \makeatletter
-  \newcount\SummaryTime
-  \newcount\TestTime
-  \SummaryTime=\z@
-  \newcommand*{\PrintTime}[2]{%
-    \typeout{%
-      [Time #1: \strip at pt\dimexpr\number#2sp\relax\space s]%
-    }%
-  }%
-  \newcommand*{\StartTime}[1]{%
-    \renewcommand*{\TimeDescription}{#1}%
-    \pdfresettimer
-  }%
-  \newcommand*{\TimeDescription}{}%
-  \newcommand*{\StopTime}{%
-    \TestTime=\pdfelapsedtime
-    \global\advance\SummaryTime\TestTime
-    \PrintTime\TimeDescription\TestTime
-  }%
-  \let\saved at qstest\qstest
-  \let\saved at endqstest\endqstest
-  \def\qstest#1#2{%
-    \saved at qstest{#1}{#2}%
-    \StartTime{#1}%
-  }%
-  \def\endqstest{%
-    \StopTime
-    \saved at endqstest
-  }%
-  \AtEndDocument{%
-    \PrintTime{summary}\SummaryTime
-  }%
-  \makeatother
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-%    \begin{macrocode}
-\makeatletter
-
-\begin{qstest}{inv}{inv}%
-  \TestInv{0}{0}%
-  \TestInv{1}{-1}%
-  \TestInv{-1}{1}%
-  \TestInv{10}{-10}%
-  \TestInv{-10}{10}%
-  \TestInv{2147483647}{-2147483647}%
-  \TestInv{-2147483647}{2147483647}%
-  \TestInv{12345678901234567890}{-12345678901234567890}%
-  \TestInv{-12345678901234567890}{12345678901234567890}%
-  \TestInv{ 0 }{0}%
-  \TestInv{ 1 }{-1}%
-  \TestInv{--1}{-1}%
-  \TestInv{\number\z@}{0}%
-  \TestInv{\ifx\relax\relax1\fi}{-1}%
-  \TestInv{\ifx\relax\relax-\fi\ifx234\else1\fi}{1}%
-\end{qstest}
-
-\begin{qstest}{abs}{abs}%
-  \TestAbs{0}{0}%
-  \TestAbs{1}{1}%
-  \TestAbs{-1}{1}%
-  \TestAbs{10}{10}%
-  \TestAbs{-10}{10}%
-  \TestAbs{2147483647}{2147483647}%
-  \TestAbs{-2147483647}{2147483647}%
-  \TestAbs{12345678901234567890}{12345678901234567890}%
-  \TestAbs{-12345678901234567890}{12345678901234567890}%
-  \TestAbs{ 0 }{0}%
-  \TestAbs{ 1 }{1}%
-  \TestAbs{--1}{1}%
-  \TestAbs{-+-+1}{1}%
-  \TestAbs{00000000000}{0}%
-  \TestAbs{00000001000}{1000}%
-  \TestAbs{\ifx\relax\relax 0\else 1\fi}{0}%
-\end{qstest}
-
-\begin{qstest}{sign}{sign}%
-  \TestSgn{0}{0}%
-  \TestSgn{1}{1}%
-  \TestSgn{-1}{-1}%
-  \TestSgn{10}{1}%
-  \TestSgn{-10}{-1}%
-  \TestSgn{2147483647}{1}%
-  \TestSgn{-2147483647}{-1}%
-  \TestSgn{12345678901234567890}{1}%
-  \TestSgn{-12345678901234567890}{-1}%
-  \TestSgn{ 0 }{0}%
-  \TestSgn{ 2 }{1}%
-  \TestSgn{ -2 }{-1}%
-  \TestSgn{--2}{1}%
-  \TestSgn{\number\z@}{0}%
-  \TestSgn{\number\@ne}{1}%
-  \TestSgn{\number\m at ne}{-1}%
-  \TestSgn{%
-    -+-+\number\z@\number\z@
-    \iftrue1\fi\iftrue2\fi\iftrue3\fi
-  }{1}%
-\end{qstest}
-
-\begin{qstest}{min}{min}%
-  \TestMin{0}{1}{0}%
-  \TestMin{1}{0}{0}%
-  \TestMin{-10}{-20}{-20}%
-  \TestMin{ 1 }{ 2 }{1}%
-  \TestMin{ 2 }{ 1 }{1}%
-  \TestMin{1}{1}{1}%
-  \TestMin{\number\z@}{\number\@ne}{0}%
-  \TestMin{\number\@ne}{\number\m at ne}{-1}%
-\end{qstest}
-
-\begin{qstest}{max}{max}%
-  \TestMax{0}{1}{1}%
-  \TestMax{1}{0}{1}%
-  \TestMax{-10}{-20}{-10}%
-  \TestMax{ 1 }{ 2 }{2}%
-  \TestMax{ 2 }{ 1 }{2}%
-  \TestMax{1}{1}{1}%
-  \TestMax{\number\z@}{\number\@ne}{1}%
-  \TestMax{\number\@ne}{\number\m at ne}{1}%
-\end{qstest}
-
-\begin{qstest}{cmp}{cmp}%
-  \TestCmp{0}{0}{0}%
-  \TestCmp{-21}{17}{-1}%
-  \TestCmp{3}{4}{-1}%
-  \TestCmp{-10}{-10}{0}%
-  \TestCmp{-10}{-11}{1}%
-  \TestCmp{100}{5}{1}%
-  \TestCmp{9}{10}{-1}%
-  \TestCmp{10}{9}{1}%
-  \TestCmp{ 3 }{ 3 }{0}%
-  \TestCmp{-9}{-10}{1}%
-  \TestCmp{-10}{-9}{-1}%
-  \TestCmp{-3}{-3}{0}%
-  \TestCmp{0}{-2}{1}%
-  \TestCmp{0}{2}{-1}%
-  \TestCmp{2}{0}{1}%
-  \TestCmp{-2}{0}{-1}%
-  \TestCmp{12}{11}{1}%
-  \TestCmp{11}{12}{-1}%
-  \TestCmp{2147483647}{-2147483647}{1}%
-  \TestCmp{-2147483647}{2147483647}{-1}%
-  \TestCmp{2147483647}{2147483647}{0}%
-  \TestCmp{\number\z@}{\number\@ne}{-1}%
-  \TestCmp{\number\@ne}{\number\m at ne}{1}%
-  \TestCmp{ 4 }{ 5 }{-1}%
-  \TestCmp{ -3 }{ -7 }{1}%
-\end{qstest}
-
-\begin{qstest}{odd}{odd}
-\tracingmacros=1
-  \TestOdd{0}{0}%
-  \TestOdd{1}{1}%
-  \TestOdd{2}{0}%
-  \TestOdd{3}{1}%
-  \TestOdd{14}{0}%
-  \TestOdd{15}{1}%
-  \TestOdd{12345678901234567896}{0}%
-  \TestOdd{12345678901234567897}{1}%
-\end{qstest}
-
-\begin{qstest}{inc}{inc}%
-  \TestInc{0}{1}%
-  \TestInc{1}{2}%
-  \TestInc{-1}{0}%
-  \TestInc{10}{11}%
-  \TestInc{-10}{-9}%
-  \TestInc{ 3 }{4}%
-  \TestInc{999}{1000}%
-  \TestInc{-1000}{-999}%
-  \TestInc{129}{130}%
-  \TestInc{2147483646}{2147483647}%
-  \TestInc{-2147483647}{-2147483646}%
-  \TestInc{12345678901234567890}{12345678901234567891}%
-  \TestInc{99999999999999999999}{100000000000000000000}%
-  \TestInc{-12345678901234567891}{-12345678901234567890}%
-  \TestInc{-100000000000000000000}{-99999999999999999999}%
-\end{qstest}
-
-\begin{qstest}{dec}{dec}%
-  \TestDec{0}{-1}%
-  \TestDec{1}{0}%
-  \TestDec{-1}{-2}%
-  \TestDec{10}{9}%
-  \TestDec{-10}{-11}%
-  \TestDec{1000}{999}%
-  \TestDec{-999}{-1000}%
-  \TestDec{130}{129}%
-  \TestDec{2147483647}{2147483646}%
-  \TestDec{-2147483646}{-2147483647}%
-  \TestDec{12345678901234567891}{12345678901234567890}%
-  \TestDec{100000000000000000000}{99999999999999999999}%
-  \TestDec{-12345678901234567890}{-12345678901234567891}%
-  \TestDec{-99999999999999999999}{-100000000000000000000}%
-\end{qstest}
-
-\begin{qstest}{add}{add}%
-  \TestAdd{0}{0}{0}%
-  \TestAdd{1}{0}{1}%
-  \TestAdd{0}{1}{1}%
-  \TestAdd{1}{2}{3}%
-  \TestAdd{-1}{-1}{-2}%
-  \TestAdd{2147483646}{1}{2147483647}%
-  \TestAdd{-2147483647}{2147483647}{0}%
-  \TestAdd{20}{-5}{15}%
-  \TestAdd{-4}{-1}{-5}%
-  \TestAdd{-1}{-4}{-5}%
-  \TestAdd{-4}{1}{-3}%
-  \TestAdd{-1}{4}{3}%
-  \TestAdd{4}{-1}{3}%
-  \TestAdd{1}{-4}{-3}%
-  \TestAdd{-4}{-1}{-5}%
-  \TestAdd{-1}{-4}{-5}%
-  \TestAdd{ -4 }{ -1 }{-5}%
-  \TestAdd{ -1 }{ -4 }{-5}%
-  \TestAdd{ -4 }{ 1 }{-3}%
-  \TestAdd{ -1 }{ 4 }{3}%
-  \TestAdd{ 4 }{ -1 }{3}%
-  \TestAdd{ 1 }{ -4 }{-3}%
-  \TestAdd{ -4 }{ -1 }{-5}%
-  \TestAdd{ -1 }{ -4 }{-5}%
-  \TestAdd{876543210}{111111111}{987654321}%
-  \TestAdd{999999999}{2}{1000000001}%
-\end{qstest}
-
-\begin{qstest}{sub}{sub}
-  \TestSub{0}{0}{0}%
-  \TestSub{1}{0}{1}%
-  \TestSub{1}{2}{-1}%
-  \TestSub{-1}{-1}{0}%
-  \TestSub{2147483646}{-1}{2147483647}%
-  \TestSub{-2147483647}{-2147483647}{0}%
-  \TestSub{-4}{-1}{-3}%
-  \TestSub{-1}{-4}{3}%
-  \TestSub{-4}{1}{-5}%
-  \TestSub{-1}{4}{-5}%
-  \TestSub{4}{-1}{5}%
-  \TestSub{1}{-4}{5}%
-  \TestSub{-4}{-1}{-3}%
-  \TestSub{-1}{-4}{3}%
-  \TestSub{ -4 }{ -1 }{-3}%
-  \TestSub{ -1 }{ -4 }{3}%
-  \TestSub{ -4 }{ 1 }{-5}%
-  \TestSub{ -1 }{ 4 }{-5}%
-  \TestSub{ 4 }{ -1 }{5}%
-  \TestSub{ 1 }{ -4 }{5}%
-  \TestSub{ -4 }{ -1 }{-3}%
-  \TestSub{ -1 }{ -4 }{3}%
-  \TestSub{1000000000}{2}{999999998}%
-  \TestSub{987654321}{111111111}{876543210}%
-\end{qstest}
-
-\begin{qstest}{shl}{shl}
-  \TestShl{0}{0}%
-  \TestShl{1}{2}%
-  \TestShl{2}{4}%
-  \TestShl{5621}{11242}%
-  \TestShl{1073741823}{2147483646}%
-\end{qstest}
-
-\begin{qstest}{shr}{shr}
-  \TestShr{0}{0}%
-  \TestShr{1}{0}%
-  \TestShr{2}{1}%
-  \TestShr{3}{1}%
-  \TestShr{4}{2}%
-  \TestShr{5}{2}%
-  \TestShr{6}{3}%
-  \TestShr{7}{3}%
-  \TestShr{8}{4}%
-  \TestShr{9}{4}%
-  \TestShr{10}{5}%
-  \TestShr{11}{5}%
-  \TestShr{12}{6}%
-  \TestShr{13}{6}%
-  \TestShr{14}{7}%
-  \TestShr{15}{7}%
-  \TestShr{16}{8}%
-  \TestShr{17}{8}%
-  \TestShr{18}{9}%
-  \TestShr{19}{9}%
-  \TestShr{20}{10}%
-  \TestShr{21}{10}%
-  \TestShr{22}{11}%
-  \TestShr{11241}{5620}%
-  \TestShr{73054202}{36527101}%
-  \TestShr{2147483646}{1073741823}%
-\end{qstest}
-
-\begin{qstest}{mul}{mul}
-  \TestMul{0}{0}{0}%
-  \TestMul{1}{0}{0}%
-  \TestMul{0}{1}{0}%
-  \TestMul{1}{1}{1}%
-  \TestMul{3}{1}{3}%
-  \TestMul{1}{-3}{-3}%
-  \TestMul{-4}{-5}{20}%
-  \TestMul{3}{7}{21}%
-  \TestMul{7}{3}{21}%
-  \TestMul{3}{-7}{-21}%
-  \TestMul{7}{-3}{-21}%
-  \TestMul{-3}{7}{-21}%
-  \TestMul{-7}{3}{-21}%
-  \TestMul{-3}{-7}{21}%
-  \TestMul{-7}{-3}{21}%
-  \TestMul{12}{11}{132}%
-  \TestMul{999}{333}{332667}%
-  \TestMul{1000}{4321}{4321000}%
-  \TestMul{12345}{173955}{2147474475}%
-  \TestMul{1073741823}{2}{2147483646}%
-  \TestMul{2}{1073741823}{2147483646}%
-  \TestMul{-1073741823}{2}{-2147483646}%
-  \TestMul{2}{-1073741823}{-2147483646}%
-  \TestMul{6706022400}{13}{87178291200}%
-\end{qstest}
-
-\begin{qstest}{sqr}{sqr}
-  \TestSqr{0}{0}%
-  \TestSqr{1}{1}%
-  \TestSqr{2}{4}%
-  \TestSqr{3}{9}%
-  \TestSqr{4}{16}%
-  \TestSqr{9}{81}%
-  \TestSqr{10}{100}%
-  \TestSqr{46340}{2147395600}%
-  \TestSqr{-1}{1}%
-  \TestSqr{-2}{4}%
-  \TestSqr{-46340}{2147395600}%
-\end{qstest}
-
-\begin{qstest}{fac}{fac}
-  \TestFac{0}{1}%
-  \TestFac{1}{1}%
-  \TestFac{2}{2}%
-  \TestFac{3}{2*3}%
-  \TestFac{4}{2*3*4}%
-  \TestFac{5}{2*3*4*5}%
-  \TestFac{6}{2*3*4*5*6}%
-  \TestFac{7}{2*3*4*5*6*7}%
-  \TestFac{8}{2*3*4*5*6*7*8}%
-  \TestFac{9}{2*3*4*5*6*7*8*9}%
-  \TestFac{10}{2*3*4*5*6*7*8*9*10}%
-  \TestFac{11}{2*3*4*5*6*7*8*9*10*11}%
-  \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}%
-  \TestFacBig{13}{6227020800}%
-  \TestFacBig{14}{87178291200}%
-  \TestFacBig{15}{1307674368000}%
-  \TestFacBig{16}{20922789888000}%
-  \TestFacBig{17}{355687428096000}%
-  \TestFacBig{18}{6402373705728000}%
-  \TestFacBig{19}{121645100408832000}%
-  \TestFacBig{20}{2432902008176640000}%
-  \TestFacBig{21}{51090942171709440000}%
-  \TestFacBig{22}{1124000727777607680000}%
-\end{qstest}
-
-\begin{qstest}{pow}{pow}
-  \TestPow{-2}{0}{1}%
-  \TestPow{-1}{0}{1}%
-  \TestPow{0}{0}{1}%
-  \TestPow{1}{0}{1}%
-  \TestPow{2}{0}{1}%
-  \TestPow{3}{0}{1}%
-  \TestPow{-2}{1}{-2}%
-  \TestPow{-1}{1}{-1}%
-  \TestPow{1}{1}{1}%
-  \TestPow{2}{1}{2}%
-  \TestPow{3}{1}{3}%
-  \TestPow{-2}{2}{4}%
-  \TestPow{-1}{2}{1}%
-  \TestPow{0}{2}{0}%
-  \TestPow{1}{2}{1}%
-  \TestPow{2}{2}{4}%
-  \TestPow{3}{2}{9}%
-  \TestPow{0}{1}{0}%
-  \TestPow{1}{-2}{1}%
-  \TestPow{1}{-1}{1}%
-  \TestPow{-1}{-2}{1}%
-  \TestPow{-1}{-1}{-1}%
-  \TestPow{-1}{3}{-1}%
-  \TestPow{-1}{4}{1}%
-  \TestPow{-2}{-1}{0}%
-  \TestPow{-2}{-2}{0}%
-  \TestPow{2}{3}{8}%
-  \TestPow{2}{4}{16}%
-  \TestPow{2}{5}{32}%
-  \TestPow{2}{6}{64}%
-  \TestPow{2}{7}{128}%
-  \TestPow{2}{8}{256}%
-  \TestPow{2}{9}{512}%
-  \TestPow{2}{10}{1024}%
-  \TestPow{-2}{3}{-8}%
-  \TestPow{-2}{4}{16}%
-  \TestPow{-2}{5}{-32}%
-  \TestPow{-2}{6}{64}%
-  \TestPow{-2}{7}{-128}%
-  \TestPow{-2}{8}{256}%
-  \TestPow{-2}{9}{-512}%
-  \TestPow{-2}{10}{1024}%
-  \TestPow{3}{3}{27}%
-  \TestPow{3}{4}{81}%
-  \TestPow{3}{5}{243}%
-  \TestPow{-3}{3}{-27}%
-  \TestPow{-3}{4}{81}%
-  \TestPow{-3}{5}{-243}%
-  \TestPow{2}{30}{1073741824}%
-  \TestPow{-3}{19}{-1162261467}%
-  \TestPow{5}{13}{1220703125}%
-  \TestPow{-7}{11}{-1977326743}%
-\end{qstest}
-
-\begin{qstest}{div}{div}
-  \TestDiv{1}{1}{1}%
-  \TestDiv{2}{1}{2}%
-  \TestDiv{-2}{1}{-2}%
-  \TestDiv{2}{-1}{-2}%
-  \TestDiv{-2}{-1}{2}%
-  \TestDiv{15}{2}{7}%
-  \TestDiv{-16}{2}{-8}%
-  \TestDiv{1}{2}{0}%
-  \TestDiv{1}{3}{0}%
-  \TestDiv{2}{3}{0}%
-  \TestDiv{-2}{3}{0}%
-  \TestDiv{2}{-3}{0}%
-  \TestDiv{-2}{-3}{0}%
-  \TestDiv{13}{3}{4}%
-  \TestDiv{-13}{-3}{4}%
-  \TestDiv{-13}{3}{-4}%
-  \TestDiv{-6}{5}{-1}%
-  \TestDiv{-5}{5}{-1}%
-  \TestDiv{-4}{5}{0}%
-  \TestDiv{-3}{5}{0}%
-  \TestDiv{-2}{5}{0}%
-  \TestDiv{-1}{5}{0}%
-  \TestDiv{0}{5}{0}%
-  \TestDiv{1}{5}{0}%
-  \TestDiv{2}{5}{0}%
-  \TestDiv{3}{5}{0}%
-  \TestDiv{4}{5}{0}%
-  \TestDiv{5}{5}{1}%
-  \TestDiv{6}{5}{1}%
-  \TestDiv{-5}{4}{-1}%
-  \TestDiv{-4}{4}{-1}%
-  \TestDiv{-3}{4}{0}%
-  \TestDiv{-2}{4}{0}%
-  \TestDiv{-1}{4}{0}%
-  \TestDiv{0}{4}{0}%
-  \TestDiv{1}{4}{0}%
-  \TestDiv{2}{4}{0}%
-  \TestDiv{3}{4}{0}%
-  \TestDiv{4}{4}{1}%
-  \TestDiv{5}{4}{1}%
-  \TestDiv{12345}{678}{18}%
-  \TestDiv{32372}{5952}{5}%
-  \TestDiv{284271294}{18162}{15651}%
-  \TestDiv{217652429}{12561}{17327}%
-  \TestDiv{462028434}{5439}{84947}%
-  \TestDiv{2147483647}{1000}{2147483}%
-  \TestDiv{2147483647}{-1000}{-2147483}%
-  \TestDiv{-2147483647}{1000}{-2147483}%
-  \TestDiv{-2147483647}{-1000}{2147483}%
-  \TestDiv{0}{3}{0}%
-  \TestDiv{1}{3}{0}%
-  \TestDiv{2}{3}{0}%
-  \TestDiv{3}{3}{1}%
-  \TestDiv{4}{3}{1}%
-  \TestDiv{5}{3}{1}%
-  \TestDiv{6}{3}{2}%
-  \TestDiv{7}{3}{2}%
-  \TestDiv{8}{3}{2}%
-  \TestDiv{9}{3}{3}%
-  \TestDiv{10}{3}{3}%
-  \TestDiv{11}{3}{3}%
-  \TestDiv{12}{3}{4}%
-  \TestDiv{13}{3}{4}%
-  \TestDiv{14}{3}{4}%
-  \TestDiv{15}{3}{5}%
-  \TestDiv{16}{3}{5}%
-  \TestDiv{17}{3}{5}%
-  \TestDiv{18}{3}{6}%
-  \TestDiv{19}{3}{6}%
-  \TestDiv{20}{3}{6}%
-  \TestDiv{21}{3}{7}%
-  \TestDiv{22}{3}{7}%
-  \TestDiv{23}{3}{7}%
-  \TestDiv{24}{3}{8}%
-  \TestDiv{25}{3}{8}%
-  \TestDiv{26}{3}{8}%
-  \TestDiv{27}{3}{9}%
-  \TestDiv{28}{3}{9}%
-  \TestDiv{29}{3}{9}%
-  \TestDiv{30}{3}{10}%
-  \TestDiv{31}{3}{10}%
-  \TestDivBig{17363436332507}{24702}{702916214}%
-\end{qstest}
-
-\begin{qstest}{mod}{mod}
-  \TestMod{-6}{5}{4}%
-  \TestMod{-5}{5}{0}%
-  \TestMod{-4}{5}{1}%
-  \TestMod{-3}{5}{2}%
-  \TestMod{-2}{5}{3}%
-  \TestMod{-1}{5}{4}%
-  \TestMod{0}{5}{0}%
-  \TestMod{1}{5}{1}%
-  \TestMod{2}{5}{2}%
-  \TestMod{3}{5}{3}%
-  \TestMod{4}{5}{4}%
-  \TestMod{5}{5}{0}%
-  \TestMod{6}{5}{1}%
-  \TestMod{-5}{4}{3}%
-  \TestMod{-4}{4}{0}%
-  \TestMod{-3}{4}{1}%
-  \TestMod{-2}{4}{2}%
-  \TestMod{-1}{4}{3}%
-  \TestMod{0}{4}{0}%
-  \TestMod{1}{4}{1}%
-  \TestMod{2}{4}{2}%
-  \TestMod{3}{4}{3}%
-  \TestMod{4}{4}{0}%
-  \TestMod{5}{4}{1}%
-  \TestMod{-6}{-5}{-1}%
-  \TestMod{-5}{-5}{0}%
-  \TestMod{-4}{-5}{-4}%
-  \TestMod{-3}{-5}{-3}%
-  \TestMod{-2}{-5}{-2}%
-  \TestMod{-1}{-5}{-1}%
-  \TestMod{0}{-5}{0}%
-  \TestMod{1}{-5}{-4}%
-  \TestMod{2}{-5}{-3}%
-  \TestMod{3}{-5}{-2}%
-  \TestMod{4}{-5}{-1}%
-  \TestMod{5}{-5}{0}%
-  \TestMod{6}{-5}{-4}%
-  \TestMod{-5}{-4}{-1}%
-  \TestMod{-4}{-4}{0}%
-  \TestMod{-3}{-4}{-3}%
-  \TestMod{-2}{-4}{-2}%
-  \TestMod{-1}{-4}{-1}%
-  \TestMod{0}{-4}{0}%
-  \TestMod{1}{-4}{-3}%
-  \TestMod{2}{-4}{-2}%
-  \TestMod{3}{-4}{-1}%
-  \TestMod{4}{-4}{0}%
-  \TestMod{5}{-4}{-3}%
-  \TestMod{2147483647}{1000}{647}%
-  \TestMod{2147483647}{-1000}{-353}%
-  \TestMod{-2147483647}{1000}{353}%
-  \TestMod{-2147483647}{-1000}{-647}%
-  \TestMod{ 0 }{ 4 }{0}%
-  \TestMod{ 1 }{ 4 }{1}%
-  \TestMod{ -1 }{ 4 }{3}%
-  \TestMod{ 0 }{ -4 }{0}%
-  \TestMod{ 1 }{ -4 }{-3}%
-  \TestMod{ -1 }{ -4 }{-1}%
-  \TestMod{18362}{25}{12}%
-\end{qstest}
-
-\newcommand*{\TestError}[2]{%
-  \begingroup
-    \expandafter\def\csname BigIntCalcError:#1\endcsname{}%
-    \Expect*{#2}{0}%
-    \expandafter\def\csname BigIntCalcError:#1\endcsname{ERROR}%
-    \Expect*{#2}{0ERROR}%
-  \endgroup
-}
-\begin{qstest}{error}{error}
-  \TestError{FacNegative}{\bigintcalcFac{-1}}%
-  \TestError{FacNegative}{\bigintcalcFac{-2147483647}}%
-  \TestError{DivisionByZero}{\bigintcalcPow{0}{-1}}%
-  \TestError{DivisionByZero}{\bigintcalcDiv{1}{0}}%
-  \TestError{DivisionByZero}{\bigintcalcMod{1}{0}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -4369,9 +3422,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   bigintcalc.sty & tex/generic/oberdiek/bigintcalc.sty\\
 %   bigintcalc.pdf & doc/latex/oberdiek/bigintcalc.pdf\\
-%   test/bigintcalc-test1.tex & doc/latex/oberdiek/test/bigintcalc-test1.tex\\
-%   test/bigintcalc-test2.tex & doc/latex/oberdiek/test/bigintcalc-test2.tex\\
-%   test/bigintcalc-test3.tex & doc/latex/oberdiek/test/bigintcalc-test3.tex\\
 %   bigintcalc.dtx & source/latex/oberdiek/bigintcalc.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,9 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/bitset.sty
 %    TDS:doc/latex/oberdiek/bitset.pdf
-%    TDS:doc/latex/oberdiek/test/bitset-test1.tex
-%    TDS:doc/latex/oberdiek/test/bitset-test2.tex
-%    TDS:doc/latex/oberdiek/test/bitset-test3.tex
 %    TDS:source/latex/oberdiek/bitset.dtx
 %
 %<*ignore>
@@ -141,10 +138,6 @@
 %  \file{bitset-test1.tex}{\from{bitset.dtx}{test1}}%
 %  \file{bitset-test2.tex}{\from{bitset.dtx}{test2,etex}}%
 %  \file{bitset-test3.tex}{\from{bitset.dtx}{test2,noetex}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{bitset.xml}{\from{bitset.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -188,21 +181,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{bitset.drv}
 %
@@ -2799,1224 +2777,8 @@
 \BitSet at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input bitset.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\makeatletter
-%<*noetex>
-\let\SavedNumexpr\numexpr
-\let\SavedIfcsname\ifcsname
-\let\SavedCurrentgrouplevel\currentgrouplevel
-\def\ETeXDisable{%
-  \let\ifcsname\@undefined
-  \let\numexpr\@undefined
-  \let\currentgrouplevel\@undefined
-}
-\ETeXDisable
-%</noetex>
-\makeatletter
-\chardef\BitSet at TestMode=1 %
-\makeatother
-\usepackage{bitset}[2016/05/16]
-%<*noetex>
-\def\ETeXEnable{%
-  \let\numexpr\SavedNumexpr
-  \let\ifcsname\SavedIfcsname
-  \let\currentgrouplevel\SavedCurrentgrouplevel
-}
-\ETeXEnable
-%</noetex>
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-%    \end{macrocode}
-%
-% \subsubsection{Time}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
-  \newcount\SummaryTime
-  \newcount\TestTime
-  \SummaryTime=\z@
-  \newcommand*{\PrintTime}[2]{%
-    \typeout{%
-      [Time #1: \strip at pt\dimexpr\number#2sp\relax\space s]%
-    }%
-  }%
-  \newcommand*{\StartTime}[1]{%
-    \renewcommand*{\TimeDescription}{#1}%
-    \pdfresettimer
-  }%
-  \newcommand*{\TimeDescription}{}%
-  \newcommand*{\StopTime}{%
-    \TestTime=\pdfelapsedtime
-    \global\advance\SummaryTime\TestTime
-    \PrintTime\TimeDescription\TestTime
-  }%
-  \let\saved at qstest\qstest
-  \let\saved at endqstest\endqstest
-  \def\qstest#1#2{%
-    \saved at qstest{#1}{#2}%
-    \StartTime{#1}%
-  }%
-  \def\endqstest{%
-    \StopTime
-    \saved at endqstest
-  }%
-  \AtEndDocument{%
-    \PrintTime{summary}\SummaryTime
-  }%
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{Detection of unwanted space}
-%
-%    \begin{macrocode}
-\let\orig at qstest\qstest
-\let\orig at endqstest\endqstest
-\def\qstest#1#2{%
-  \orig at qstest{#1}{#2}%
-  \setbox0\hbox\bgroup\begingroup\ignorespaces
-}
-\def\endqstest{%
-  \endgroup\egroup
-  \Expect*{\the\wd0}{0.0pt}%
-  \orig at endqstest
-}
-%    \end{macrocode}
-%
-% \subsubsection{Test macros}
-%
-%    \begin{macrocode}
-\newcounter{Test}
-
-\def\TestError#1#2{%
-  \begingroup
-    \setcounter{Test}{0}%
-    \sbox0{%
-      \def\@PackageError##1##2##3{%
-        \stepcounter{Test}%
-        \begingroup
-          \let\MessageBreak\relax
-%<*noetex>
-          \ETeXEnable
-%</noetex>
-          \Expect{##1}{bitset}%
-          \Expect*{##2}*{#1}%
-        \endgroup
-      }%
-%<*noetex>
-      \ETeXDisable
-%</noetex>
-      #2%
-    }%
-    \Expect*{\theTest}{1}%
-    \Expect*{\the\wd0}{0.0pt}%
-  \endgroup
-}
-
-\def\TestErrorNegativeIndex#1#2{%
-  \TestError{Invalid negative index (#1)}{#2}%
-}
-
-\def\TestGetterUndefined#1{%
-  \CheckUndef{dummy}%
-  \expandafter\expandafter\expandafter\Expect
-  \expandafter\expandafter\expandafter{#1{dummy}}{0}%
-}
-
-\def\ExpectBitSet#1#2{%
-  \expandafter\expandafter\expandafter\Expect
-  \expandafter\expandafter\expandafter
-  {\csname BS@#1\endcsname}*{#2}%
-}
-\def\Check#1#2{%
-  \ExpectBitSet{#1}{#2}%
-}
-\def\CheckUndef#1{%
-  \begingroup
-    \Expect*{%
-      \expandafter
-      \ifx\csname BS@#1\endcsname\relax true\else false\fi
-    }{true}%
-  \endgroup
-}
-\def\RevCheck#1#2{%
-  \ExpectBitSet{#1}{\Reverse#2!!}%
-}
-\def\Set#1#2{%
-  \expandafter\def\csname BS@#1\endcsname{#2}%
-}
-\def\RevSet#1#2{%
-  \expandafter\edef\csname BS@#1\endcsname{%
-    \Reverse#2!!%
-  }%
-}
-\def\Reverse#1#2!#3!{%
-  \ifx\\#2\\%
-    #1#3%
-    \expandafter\@gobble
-  \else
-    \expandafter\@firstofone
-  \fi
-  {\Reverse#2!#1#3!}%
-}
-%    \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-%    \begin{macrocode}
-\begin{qstest}{Let}{Let}
-  \CheckUndef{abc}%
-  \CheckUndef{xyz}%
-  \bitsetLet{xyz}{abc}%
-  \CheckUndef{abc}%
-  \Check{xyz}{0}%
-  \Set{abc}{1}%
-  \Check{abc}{1}%
-  \Check{xyz}{0}%
-  \bitsetLet{xyz}{abc}%
-  \Check{abc}{1}%
-  \Check{xyz}{1}%
-  \Set{xyz}{11}%
-  \Check{abc}{1}%
-  \Check{xyz}{11}%
-\end{qstest}
-
-\begin{qstest}{Reset}{Reset}
-  \bitsetReset{xyz}%
-  \Check{xyz}{0}%
-  \bitsetReset{abc}%
-  \Check{abc}{0}%
-  \Set{abc}{10101}%
-  \bitsetReset{abc}%
-  \Check{abc}{0}%
-\end{qstest}
-
-\begin{qstest}{Get/Query}{Get/Query}
-  \expandafter\expandafter\expandafter\Expect
-  \expandafter\expandafter\expandafter{%
-    \bitsetGet{dummy}{0}%
-  }{0}%
-  \begingroup
-    \expandafter\def\csname BitSetError:NegativeIndex\endcsname{}%
-    \Set{abc}{1}%
-    \Expect*{\bitsetQuery{abc}{-1}{true}{false}}{false}%
-  \endgroup
-  \def\Test#1#2#3{%
-    \Set{abc}{#1}%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{\bitsetGet{abc}{#2}}{#3}%
-    \Expect*{\bitsetQuery{abc}{#2}{true}{false}}%
-           *{\ifcase#3 false\or true\else error\fi}%
-  }%
-  \Test{1}{100}{0}%
-  \Test{0}{0}{0}%
-  \Test{1}{0}{1}%
-  \Test{11}{1}{1}%
-  \Test{111}{1}{1}%
-  \Test{101}{1}{0}%
-  \Test{101}{2}{1}%
-  \Test{10100110011}{10}{1}%
-\end{qstest}
-
-\begin{qstest}{Size}{Size}
-  \TestGetterUndefined\bitsetSize
-  \def\Test#1#2{%
-    \Set{abc}{#1}%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{\bitsetSize{abc}}{#2}%
-  }%
-  \Test{0}{0}%
-  \Test{1}{1}%
-  \Test{00}{0}%
-  \Test{0000000}{0}%
-  \Test{10}{1}%
-  \Test{01}{2}%
-  \Test{11}{2}%
-  \Test{010}{2}%
-  \Test{011}{3}%
-  \Test{100110011}{9}%
-  \Test{0000011111000001111100000}{20}%
-  \Test{000000000000000000000000011111111111111111111}{45}%
-\end{qstest}
-
-\begin{qstest}{Cardinality}{Cardinality}
-  \TestGetterUndefined\bitsetCardinality
-  \def\Test#1#2{%
-    \Set{abc}{#1}%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \bitsetCardinality{abc}%
-    }{#2}%
-  }%
-  \Test{0}{0}%
-  \Test{1}{1}%
-  \Test{00}{0}%
-  \Test{0000000}{0}%
-  \Test{10}{1}%
-  \Test{01}{1}%
-  \Test{11}{2}%
-  \Test{010}{1}%
-  \Test{011}{2}%
-  \Test{100110011}{5}%
-  \Test{0000011111000001111100000}{10}%
-  \Test{000000000000000000000000011111111111111111111}{20}%
-\end{qstest}
-
-\begin{qstest}{NextClearBit/NextSetBit}{NextClearBit/NextSetBit}
-  \def\Test#1#2{%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \TestOp{abc}{#1}%
-    }{#2}%
-  }%
-  \def\Clear{\let\TestOp\bitsetNextClearBit}%
-  \def\Set{\let\TestOp\bitsetNextSetBit}%
-  \begingroup
-    \catcode`\:=11 %
-    \bitsetSetBin{abc}{1}%
-    \Clear
-    \Test{-1}{1\BitSetError:NegativeIndex}%
-    \Set
-    \Test{-1}{0\BitSetError:NegativeIndex}%
-  \endgroup
-  \let\BS at abc\@undefined
-  \Clear
-  \Test{0}{0}%
-  \Test{1}{1}%
-  \Test{2}{2}%
-  \Test{100}{100}%
-  \Set
-  \Test{0}{-1}%
-  \Test{1}{-1}%
-  \Test{100}{-1}%
-  \bitsetReset{abc}%
-  \Clear
-  \Test{0}{0}%
-  \Test{1}{1}%
-  \Test{2}{2}%
-  \Test{100}{100}%
-  \Set
-  \Test{0}{-1}%
-  \Test{1}{-1}%
-  \Test{100}{-1}%
-  \bitsetSetBin{abc}{1}%
-  \Clear
-  \Test{0}{1}%
-  \Test{1}{1}%
-  \Test{2}{2}%
-  \Test{100}{100}%
-  \Set
-  \Test{0}{0}%
-  \Test{1}{-1}%
-  \Test{100}{-1}%
-  \bitsetSetBin{abc}{111000111000111000111}%
-  \Clear
-  \Test{0}{3}%
-  \Test{1}{3}%
-  \Test{2}{3}%
-  \Test{3}{3}%
-  \Test{4}{4}%
-  \Test{5}{5}%
-  \Test{6}{9}%
-  \Test{7}{9}%
-  \Test{8}{9}%
-  \Test{9}{9}%
-  \Test{10}{10}%
-  \Test{11}{11}%
-  \Test{12}{15}%
-  \Test{13}{15}%
-  \Test{14}{15}%
-  \Test{15}{15}%
-  \Test{16}{16}%
-  \Test{17}{17}%
-  \Test{18}{21}%
-  \Test{19}{21}%
-  \Test{20}{21}%
-  \Test{21}{21}%
-  \Test{22}{22}%
-  \Test{100}{100}%
-  \Set
-  \Test{0}{0}%
-  \Test{1}{1}%
-  \Test{2}{2}%
-  \Test{3}{6}%
-  \Test{4}{6}%
-  \Test{5}{6}%
-  \Test{6}{6}%
-  \Test{7}{7}%
-  \Test{8}{8}%
-  \Test{9}{12}%
-  \Test{10}{12}%
-  \Test{11}{12}%
-  \Test{12}{12}%
-  \Test{13}{13}%
-  \Test{14}{14}%
-  \Test{15}{18}%
-  \Test{16}{18}%
-  \Test{17}{18}%
-  \Test{18}{18}%
-  \Test{19}{19}%
-  \Test{20}{20}%
-  \Test{21}{-1}%
-  \Test{22}{-1}%
-  \Test{100}{-1}%
-  \bitsetSetBin{abc}{1111111}%
-  \Clear
-  \Test{6}{7}%
-  \Test{7}{7}%
-  \Test{8}{8}%
-  \Test{100}{100}%
-  \Set
-  \Test{6}{6}%
-  \Test{7}{-1}%
-  \Test{8}{-1}%
-  \Test{100}{-1}%
-  \bitsetSetBin{abc}{11111111}%
-  \Clear
-  \Test{7}{8}%
-  \Test{8}{8}%
-  \Test{9}{9}%
-  \Test{100}{100}%
-  \Set
-  \Test{7}{7}%
-  \Test{8}{-1}%
-  \Test{9}{-1}%
-  \Test{100}{-1}%
-  \bitsetSetBin{abc}{111111111}%
-  \Clear
-  \Test{8}{9}%
-  \Test{9}{9}%
-  \Test{10}{10}%
-  \Test{100}{100}%
-  \Set
-  \Test{8}{8}%
-  \Test{9}{-1}%
-  \Test{10}{-1}%
-  \Test{100}{-1}%
-  \bitsetSetBin{abc}{1111111111}%
-  \Clear
-  \Test{9}{10}%
-  \Test{10}{10}%
-  \Test{11}{11}%
-  \Test{100}{100}%
-  \Set
-  \Test{9}{9}%
-  \Test{10}{-1}%
-  \Test{11}{-1}%
-  \Test{100}{-1}%
-\end{qstest}
-
-\begin{qstest}{GetSetBitList}{GetSetBitList}
-  \let\BS at abc\@undefined
-  \expandafter\expandafter\expandafter\Expect
-  \expandafter\expandafter\expandafter{%
-    \bitsetGetSetBitList{abc}%
-  }{}%
-  \def\Test#1#2{%
-    \bitsetSetBin{abc}{#1}%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \bitsetGetSetBitList{abc}%
-    }{#2}%
-  }%
-  \Test{0}{}%
-  \Test{1}{0}%
-  \Test{10}{1}%
-  \Test{11}{0,1}%
-  \Test{10110100}{2,4,5,7}%
-  \Test{101101001010011}{0,1,4,6,9,11,12,14}%
-\end{qstest}
-
-\begin{qstest}{GetDec}{GetDec}
-  \TestGetterUndefined\bitsetGetDec
-  \def\Test#1#2{%
-    \RevSet{abc}{#1}%
-%<*noetex>
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-%</noetex>
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \bitsetGetDec{abc}%
-    }{#2}%
-  }%
-  \Test{0}{0}%
-  \Test{1}{1}%
-  \Test{10}{2}%
-  \Test{11}{3}%
-  \Test{100}{4}%
-  \Test{101}{5}%
-  \Test{110}{6}%
-  \Test{111}{7}%
-  \Test{1000}{8}%
-  \Test{000111}{7}%
-  \Test{1111111111111111%
-        111111111111111}{2147483647}%
-  \Test{0001111111111111111%
-        111111111111111}{2147483647}%
-  \Test{1000000000000000%
-        0000000000000000}{2147483648}%
-  \Test{1000000000000000%
-        00000000000000000}{4294967296}%
-  \Test{0001000000000000000%
-        00000000000000000}{4294967296}%
-  \Test{1100000000000000%
-        00000000000000011}{6442450947}%
-\end{qstest}
-
-\begin{qstest}{Clear}{Clear}
-  \def\Test#1#2#3{%
-    \RevSet{abc}{#1}%
-    \bitsetClear{abc}{#2}%
-    \Expect*{\BS at abc}*{\Reverse#3!!}%
-  }%
-  \bitsetClear{abc}{2}%
-  \RevCheck{abc}{0}%
-  \TestErrorNegativeIndex{-1}{\bitsetClear{abc}{-1}}%
-  \RevCheck{abc}{0}%
-  \Test{0}{0}{0}%
-  \Test{1}{0}{0}%
-  \Test{111}{1}{101}%
-  \Test{111}{30}{111}%
-  \Test{0000111}{5}{0000111}% 111 would also be ok
-  \Test{10000111}{5}{10000111}%
-  \Test{1001001}{3}{1000001}%
-\end{qstest}
-
-\begin{qstest}{Set}{Set}
-  \def\Test#1#2#3{%
-    \RevSet{abc}{#1}%
-    \bitsetSet{abc}{#2}%
-    \Expect*{\BS at abc}*{\Reverse#3!!}%
-  }%
-  \bitsetSet{abc}{2}%
-  \RevCheck{abc}{100}%
-  \TestErrorNegativeIndex{-1}{\bitsetSet{abc}{-1}}%
-  \RevCheck{abc}{100}%
-  \Test{0}{0}{1}%
-  \Test{1}{0}{1}%
-  \Test{100}{1}{110}%
-  \Test{111}{1}{111}%
-  \Test{11}{1}{11}%
-  \Test{11}{2}{111}%
-  \Test{11}{3}{1011}%
-  \Test{111}{10}{10000000111}%
-  \Test{0000111}{5}{0100111}% 100111 would also be ok
-  \Test{10000111}{5}{10100111}%
-  \Test{1000001}{3}{1001001}%
-  \Test{1001001}{3}{1001001}%
-\end{qstest}
-
-\begin{qstest}{Flip}{Flip}
-  \def\Test#1#2#3{%
-    \RevSet{abc}{#1}%
-    \bitsetFlip{abc}{#2}%
-    \Expect*{\BS at abc}*{\Reverse#3!!}%
-  }%
-  \bitsetFlip{abc}{2}%
-  \RevCheck{abc}{100}%
-  \TestErrorNegativeIndex{-1}{\bitsetFlip{abc}{-1}}%
-  \RevCheck{abc}{100}%
-  \Test{0}{0}{1}%
-  \Test{1}{0}{0}%
-  \Test{0}{2}{100}%
-  \Test{100}{1}{110}%
-  \Test{111}{1}{101}%
-  \Test{11}{1}{1}%
-  \Test{11}{2}{111}%
-  \Test{11}{3}{1011}%
-  \Test{111}{10}{10000000111}%
-  \Test{0000111}{5}{0100111}% 100111 would also be ok
-  \Test{10000111}{5}{10100111}%
-  \Test{1000001}{3}{1001001}%
-  \Test{1001001}{3}{1000001}%
-  \Test{11111}{2}{11011}%
-\end{qstest}
-
-\begin{qstest}{SetValue}{SetValue}
-  \def\Test#1#2{%
-    \TestError{Invalid bit value (#2) not in range 0..1}{%
-      \bitsetSetValue{abc}{#1}{#2}%
-    }%
-  }%
-  \Test{0}{-1}%
-  \Test{0}{2}%
-  \Test{0}{10}%
-  \def\Test#1#2#3{%
-    \let\BS at abc\@undefined
-    \bitsetSetValue{abc}{#1}{#2}%
-    \bitsetSetBin{result}{#3}%
-    \Expect*{\BS at abc}*{\BS at result}%
-  }%
-  \Test{0}{0}{0}%
-  \Test{0}{1}{1}%
-  \Test{1}{0}{0}%
-  \Test{1}{1}{10}%
-  \def\Test#1#2#3#4{%
-    \bitsetSetBin{abc}{#1}%
-    \bitsetSetBin{result}{#4}%
-    \bitsetSetValue{abc}{#2}{#3}%
-    \Expect*{\BS at abc}*{\BS at result}%
-  }%
-  \Test{0}{0}{0}{0}%
-  \Test{0}{0}{0}{0}%
-  \Test{0}{0}{1}{1}%
-  \Test{0}{1}{0}{0}%
-  \Test{0}{1}{1}{10}%
-  \Test{1010}{2}{1}{1110}%
-  \Test{1010}{4}{1}{11010}%
-  \Test{1010}{6}{1}{1001010}%
-  \Test{1010}{1}{0}{1000}%
-  \Test{1010}{2}{0}{1010}%
-  \Test{1010}{3}{0}{10}%
-  \Test{1010}{4}{0}{1010}%
-  \Test{1010}{6}{0}{1010}%
-  \Test{1010}{2}{\csname iffalse\endcsname 0\else 1\fi}{1110}%
-  \Test{1010}{1}{\csname iffalse\endcsname 1\else 0\fi}{1000}%
-\end{qstest}
-
-\begin{qstest}{IsDefined}{IsDefined}
-  \let\BS at abc\@undefined
-  \Expect*{\bitsetIsDefined{abc}{true}{false}}{false}%
-  \bitsetReset{abc}%
-  \Expect*{\bitsetIsDefined{abc}{true}{false}}{true}%
-\end{qstest}
-
-\begin{qstest}{IsEmpty}{IsEmpty}
-  \let\BS at abc\@undefined
-  \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}%
-  \bitsetReset{abc}%
-  \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}%
-  \bitsetSet{abc}{1}%
-  \Expect*{\bitsetIsEmpty{abc}{true}{false}}{false}%
-\end{qstest}
-
-\begin{qstest}{Equals}{Equals}
-  \def\Test#1#2#3{%
-    \Expect*{\bitsetEquals{#1}{#2}{true}{false}}{#3}%
-  }%
-  \let\BS at abc\@undefined
-  \Test{abc}{abc}{true}%
-  \Test{abc}{foo}{true}%
-  \Test{foo}{abc}{true}%
-  \bitsetReset{abc}%
-  \Test{abc}{abc}{true}%
-  \Test{abc}{foo}{false}%
-  \Test{foo}{abc}{false}%
-  \bitsetReset{foo}%
-  \Test{abc}{foo}{true}%
-  \Test{foo}{abc}{true}%
-  \bitsetSet{abc}{4}%
-  \Test{abc}{foo}{false}%
-  \Test{foo}{abc}{false}%
-  \bitsetFlip{foo}{4}%
-  \Test{abc}{foo}{true}%
-  \Test{foo}{abc}{true}%
-\end{qstest}
-
-\begin{qstest}{Intersects}{Intersects}
-  \def\Test#1{%
-    \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#1}%
-  }%
-  \let\BS at abc\@undefined
-  \let\BS at foo\@undefined
-  \Test{false}%
-  \Set{abc}{0}%
-  \Test{false}%
-  \Set{foo}{0}%
-  \Test{false}%
-  \let\BS at abc\@undefined
-  \Test{false}%
-  \Set{foo}{1}%
-  \Test{false}%
-  \Set{abc}{0}%
-  \Test{false}%
-  \Set{abc}{1}%
-  \Test{true}%
-  \let\BS at foo\@undefined
-  \Test{false}%
-  \Set{foo}{0}%
-  \Test{false}%
-  \def\Test#1#2#3{%
-    \bitsetSetBin{abc}{#1}%
-    \bitsetSetBin{foo}{#2}%
-    \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#3}%
-  }%
-  \Test{1010}{0101}{false}%
-  \Test{0}{10}{false}%
-  \Test{1}{11}{true}%
-  \Test{11}{1}{true}%
-  \Test{10}{1}{false}%
-\end{qstest}
-
-\begin{qstest}{And/AndNot/Or/Xor}{And/AndNot/Or/Xor}
-  \def\@Test#1#2#3#4#5{%
-    \begingroup
-      #5%
-      \begingroup
-        \let\BS at foo\@undefined
-        \csname bitset#1\endcsname{abc}{foo}%
-        \CheckUndef{foo}%
-        \Check{abc}{#2}%
-      \endgroup
-      \begingroup
-        \bitsetReset{foo}%
-        \csname bitset#1\endcsname{abc}{foo}%
-        \Check{foo}{0}%
-        \Check{abc}{#3}%
-      \endgroup
-      \begingroup
-        \def\BS at foo{0101}%
-        \csname bitset#1\endcsname{abc}{foo}%
-        \Check{foo}{0101}%
-        \Check{abc}{#4}%
-      \endgroup
-    \endgroup
-  }%
-  \def\Test#1{%
-    \def\Op{#1}%
-    \Test@
-  }%
-  \def\Test@#1#2#3#4#5#6#7#8#9{%
-    \@Test\Op{#1}{#2}{#3}{%
-      \let\BS at abc\@undefined
-    }%
-    \@Test\Op{#4}{#5}{#6}{%
-      \bitsetReset{abc}%
-    }%
-    \@Test\Op{#7}{#8}{#9}{%
-      \def\BS at abc{1001}%
-    }%
-  }%
-  \Test{And}%
-       {0}{0}{0}%
-       {0}{0}{0}%
-       {0}{0}{0001}%
-  \Test{AndNot}%
-       {0}{0}{0}%
-       {0}{0}{0}%
-       {1001}{1001}{1}%
-  \Test{Or}%
-       {0}{0}{0101}%
-       {0}{0}{0101}%
-       {1001}{1001}{1101}%
-  \Test{Xor}%
-       {0}{0}{0101}%
-       {0}{0}{0101}%
-       {1001}{1001}{11}%
-  \def\Test#1#2#3{%
-    \bitsetSetBin{abc}{#1}%
-    \bitsetSetBin{foo}{#2}%
-    \csname bitset\Op\endcsname{abc}{foo}%
-    \RevCheck{foo}{#2}%
-    \RevCheck{abc}{#3}%
-  }%
-  \def\Op{And}%
-  \Test{1}{111}{1}%
-  \Test{111}{1}{1}%
-  \Test{10}{111}{10}%
-  \Test{111}{10}{10}%
-  \Test{111}{1000}{0}%
-  \Test{1000}{111}{0}%
-  \def\Op{AndNot}%
-  \Test{1010}{11}{1000}%
-  \Test{100}{100}{0}%
-  \Test{111}{1111}{0}%
-  \Test{100}{111}{0}%
-  \def\Op{Or}%
-  \Test{0}{0}{0}%
-  \Test{1}{0}{1}%
-  \Test{0}{1}{1}%
-  \Test{1}{1}{1}%
-  \Test{1000}{10}{1010}%
-  \Test{10}{1000}{1010}%
-  \def\Op{Xor}%
-  \Test{0}{0}{0}%
-  \Test{1}{0}{1}%
-  \Test{0}{1}{1}%
-  \Test{1}{1}{0}%
-  \Test{1000}{10}{1010}%
-  \Test{10}{1000}{1010}%
-  \Test   {110011001100}%
-       {111000111000111}%
-       {111110100001011}%
-  \Test{111000111000111}%
-          {110011001100}%
-       {111110100001011}%
-\end{qstest}
-
-\begin{qstest}{GetUndef}{GetUndef, GetBin, GetOct, GetHex}
-  \def\TestUndef#1#2{%
-    \let\BS at abc\@undefined
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \x{abc}{#1}%
-    }{#2}%
-  }%
-  \let\x\bitsetGetBin
-  \TestUndef{-1}{0}%
-  \TestUndef{0}{0}%
-  \TestUndef{1}{0}%
-  \TestUndef{2}{00}%
-  \TestUndef{8}{00000000}%
-  \let\x\bitsetGetOct
-  \TestUndef{-1}{0}%
-  \TestUndef{0}{0}%
-  \TestUndef{1}{0}%
-  \TestUndef{2}{0}%
-  \TestUndef{3}{0}%
-  \TestUndef{4}{00}%
-  \TestUndef{5}{00}%
-  \TestUndef{6}{00}%
-  \TestUndef{7}{000}%
-  \TestUndef{8}{000}%
-  \TestUndef{9}{000}%
-  \TestUndef{10}{0000}%
-  \let\x\bitsetGetHex
-  \TestUndef{-1}{0}%
-  \TestUndef{0}{0}%
-  \TestUndef{1}{0}%
-  \TestUndef{2}{0}%
-  \TestUndef{3}{0}%
-  \TestUndef{4}{0}%
-  \TestUndef{5}{00}%
-  \TestUndef{6}{00}%
-  \TestUndef{7}{00}%
-  \TestUndef{8}{00}%
-  \TestUndef{9}{000}%
-  \TestUndef{10}{000}%
-  \TestUndef{12}{000}%
-  \TestUndef{13}{0000}%
-  \TestUndef{16}{0000}%
-  \TestUndef{17}{00000}%
-\end{qstest}
-
-\begin{qstest}{SetBin}{SetBin}
-  \def\Test#1#2{%
-    \let\BS at abc\@undefined
-    \bitsetSetBin{abc}{#1}%
-    \expandafter\Expect\expandafter{\BS at abc}{#2}%
-  }%
-  \Test{}{0}%
-  \Test{0}{0}%
-  \Test{1}{1}%
-  \Test{10}{01}%
-  \Test{11}{11}%
-  \Test{010}{01}%
-  \Test{011}{11}%
-  \Test{0010}{01}%
-  \Test{1010}{0101}%
-\end{qstest}
-
-\begin{qstest}{SetOct}{SetOct}
-  \def\Test#1#2{%
-    \bitsetSetOct{abc}{#1}%
-    \expandafter\Expect\expandafter{\BS at abc}{#2}%
-  }%
-  \Test{}{0}%
-  \Test{0}{0}%
-  \Test{000}{0}%
-  \Test{1}{1}%
-  \Test{001}{1}%
-  \Test{010}{0001}%
-  \Test{020}{00001}%
-  \Test{42}{010001}%
-  \Test{377}{11111111}%
-  \Test{0377}{11111111}%
-  \Test{76543210}{000100010110001101011111}%
-  \Test{ 0 7 0 7 1 }{100111000111}%
-\end{qstest}
-
-\begin{qstest}{SetHex}{SetHex}
-  \def\Test#1#2{%
-    \bitsetSetHex{abc}{#1}%
-    \expandafter\Expect\expandafter{\BS at abc}{#2}%
-  }%
-  \Test{}{0}%
-  \Test{0}{0}%
-  \Test{000}{0}%
-  \Test{1}{1}%
-  \Test{001}{1}%
-  \Test{010}{00001}%
-  \Test{020}{000001}%
-  \Test{42}{0100001}%
-  \Test{3F}{111111}%
-  \Test{03F}{111111}%
-  \Test{43210}{0000100001001100001}%
-  \Test{98765}{10100110111000011001}%
-  \Test{FEDCBA}{010111010011101101111111}%
-  \Test{ 0 F 0 F 1 }{1000111100001111}%
-\end{qstest}
-
-\begin{qstest}{SetDec}{SetDec}
-  \def\Test#1#2{%
-    \bitsetSetDec{abc}{#1}%
-    \expandafter\Expect\expandafter{\BS at abc}{#2}%
-  }%
-  \Test{}{0}%
-  \Test{0}{0}%
-  \Test{000}{0}%
-  \Test{1}{1}%
-  \Test{7}{111}%
-  \Test{8}{0001}%
-  \Test{001}{1}%
-  \Test{010}{0101}%
-  \Test{020}{00101}%
-  \Test{53}{101011}%
-  \Test{255}{11111111}%
-  \Test{256}{000000001}%
-  \Test{999999999}{111111111001001101011001110111}%
-  \Test{1000000000}{000000000101001101011001110111}%
-  \Test{4210987654}{01100001010010010111111101011111}%
-  \Test{2147483647}{1111111111111111111111111111111}%
-  \Test{2147483648}{00000000000000000000000000000001}%
-\end{qstest}
-
-\begin{qstest}{GetBin}{GetBin}
-  \def\TestUndef#1#2{%
-    \let\BS at abc\@undefined
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \bitsetGetBin{abc}{#1}%
-    }{#2}%
-  }%
-  \TestUndef{-1}{0}%
-  \TestUndef{0}{0}%
-  \TestUndef{1}{0}%
-  \TestUndef{2}{00}%
-  \TestUndef{8}{00000000}%
-  \def\Test#1#2{%
-    \bitsetSetBin{abc}{#2}%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \bitsetGetBin{abc}{#1}%
-    }{#2}%
-  }%
-  \Test{-1}{0}%
-  \Test{0}{0}%
-  \Test{1}{0}%
-  \Test{1}{1}%
-  \Test{2}{01}%
-  \Test{2}{10}%
-  \Test{3}{010}%
-  \Test{2}{00}%
-  \Test{2}{01}%
-  \Test{8}{00101100}%
-  \Test{2}{10101}%
-  \Test{-100}{11011}%
-\end{qstest}
-
-\begin{qstest}{GetOct}{GetOct}
-  \def\Test#1#2#3{%
-    \edef\x{\zap at space#1 \@empty}%
-    \edef\x{\noexpand\bitsetSetBin{abc}{\x}}%
-    \x
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \bitsetGetOct{abc}{#2}%
-    }{#3}%
-  }%
-  \Test{111 110 101 100 011 010 001 000}{0}{76543210}%
-  \Test{000 111}{0}{7}%
-  \Test{101 000}{-1}{50}%
-  \Test{111}{-1}{7}%
-  \Test{111}{0}{7}%
-  \Test{111}{1}{7}%
-  \Test{111}{3}{7}%
-  \Test{111}{4}{07}%
-  \Test{111}{6}{07}%
-  \Test{111}{7}{007}%
-  \Test{111 010}{6}{72}%
-  \Test{111 010}{7}{072}%
-  \Test{011 111}{0}{37}%
-  \Test{011 111}{6}{37}%
-  \Test{011 111}{7}{037}%
-  \Test{001 111}{0}{17}%
-  \Test{001 111}{6}{17}%
-  \Test{001 111}{7}{017}%
-\end{qstest}
-
-\begin{qstest}{GetHex}{GetHex}
-  \def\Test#1#2#3{%
-    \bitsetSetBin{abc}{#1}%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter{%
-      \bitsetGetHex{abc}{#2}%
-    }{#3}%
-  }%
-  \Test{1111 1110 1101 1100 1011 1010 1001 1000}{0}{FEDCBA98}%
-  \Test{0111 0110 0101 0100 0011 0010 0001 0000}{0}{76543210}%
-  \Test{0000 1111}{0}{F}%
-  \Test{0101 0000}{-1}{50}%
-  \Test{1111}{-1}{F}%
-  \Test{1111}{0}{F}%
-  \Test{1111}{1}{F}%
-  \Test{1111}{4}{F}%
-  \Test{1111}{5}{0F}%
-  \Test{1111}{8}{0F}%
-  \Test{1111}{9}{00F}%
-  \Test{1111 0010}{8}{F2}%
-  \Test{1111 0010}{9}{0F2}%
-  \Test{0111 1111}{0}{7F}%
-  \Test{0111 1111}{8}{7F}%
-  \Test{0111 1111}{9}{07F}%
-  \Test{0011 1111}{0}{3F}%
-  \Test{0011 1111}{8}{3F}%
-  \Test{0011 1111}{9}{03F}%
-  \Test{0001 1111}{0}{1F}%
-  \Test{0001 1111}{8}{1F}%
-  \Test{0001 1111}{9}{01F}%
-\end{qstest}
-
-\begin{qstest}{Range}{Range}
-  \TestError{%
-    Wrong index numbers in range [9..8]\MessageBreak% hash-ok
-    for clear/set/flip on bit set `abc'.\MessageBreak
-    The lower index exceeds the upper index.\MessageBreak
-    Canceling the operation as error recovery%
-  }{%
-    \bitsetSetRange{abc}{9}{8}%
-  }%
-  \def\TestErrorNegInd#1#2#3#4#5#6{%
-    \TestError{%
-      Negative index in range [#2..#3]\MessageBreak % hash-ok
-      for \string\bitset #1Range on bit set `abc'.\MessageBreak
-      Using [#4..#5] as error recovery% hash-ok
-    }{%
-      \csname bitset#1Range\endcsname{abc}{#2}{#3}%
-      \global\let\BS at global\BS at abc
-    }%
-    \Check{global}{#6}%
-  }%
-  \Set{abc}{111}%
-  \TestErrorNegInd{Clear}{-1}{0}{0}{0}{111}%
-  \TestErrorNegInd{Clear}{0}{-1}{0}{0}{111}%
-  \TestErrorNegInd{Clear}{-2}{2}{0}{2}{001}%
-  \bitsetReset{abc}%
-  \TestErrorNegInd{Set}{-1}{0}{0}{0}{0}%
-  \TestErrorNegInd{Set}{0}{-1}{0}{0}{0}%
-  \TestErrorNegInd{Set}{-2}{2}{0}{2}{11}%
-  \Set{abc}{101}%
-  \TestErrorNegInd{Flip}{-1}{0}{0}{0}{101}%
-  \TestErrorNegInd{Flip}{0}{-1}{0}{0}{101}%
-  \TestErrorNegInd{Flip}{-2}{2}{0}{2}{011}%
-  \def\Test#1#2#3#4{%
-    \bitsetSetBin{abc}{#1}%
-    \csname bitset\TestOp Range\endcsname{abc}{#2}{#3}%
-    \Expect*{\bitsetGetBin{abc}{0}}{#4}%
-  }%
-  \def\TestOp{Clear}%
-  \Test{0}{0}{1}{0}%
-  \Test{1111}{1}{2}{1101}%
-  \Test{1111}{1}{3}{1001}%
-  \Test{1111111100000000}{12}{14}{1100111100000000}%
-  \def\TestOp{Set}%
-  \Test{0}{0}{1}{1}%
-  \Test{1000}{1}{2}{1010}%
-  \Test{0}{1}{2}{10}%
-  \Test{1}{12}{15}{111000000000001}%
-  \Test{1111}{1}{3}{1111}%
-  \Test{1000000000000000}{12}{14}{1011000000000000}%
-  \def\TestOp{Flip}%
-  \Test{0}{0}{1}{1}%
-  \Test{1}{0}{1}{0}%
-  \Test{10101010}{1}{5}{10110100}%
-  \def\Test#1#2#3#4#5{%
-    \bitsetSetBin{abc}{#1}%
-    \bitsetSetValueRange{abc}{#2}{#3}{#4}%
-    \Expect*{\bitsetGetBin{abc}{0}}{#5}%
-  }%
-  \Test{0}{0}{1}{0}{0}%
-  \Test{0}{0}{1}{1}{1}%
-  \Test{1010}{1}{3}{0}{1000}%
-  \Test{1010}{1}{3}{1}{1110}%
-\end{qstest}
-
-\begin{qstest}{ShiftLeft/ShiftRight}{ShiftLeft/ShiftRight}
-  \def\@Test#1#2{%
-    \let\BS at abc\@undefined
-    \csname bitsetShift#1\endcsname{abc}{#2}%
-    \Expect*{\BS at abc}{0}%
-  }%
-  \def\Test#1{%
-    \@Test{Left}{#1}%
-    \@Test{Right}{#1}%
-  }%
-  \Test{-16}%
-  \Test{-1}%
-  \Test{0}%
-  \Test{1}%
-  \Test{16}%
-  \def\Test#1#2#3{%
-    \bitsetSetBin{abc}{#1}%
-    \bitsetSetBin{result}{#3}%
-    \csname bitsetShift\Op\endcsname{abc}{#2}%
-    \Expect*{\bitsetGetBin{abc}{0}}*{\bitsetGetBin{result}{0}}%
-  }%
-  \def\Op{Left}%
-  \Test{0}{0}{0}%
-  \Test{0}{1}{0}%
-  \Test{0}{-1}{0}%
-  \Test{1}{0}{1}%
-  \Test{1}{1}{10}%
-  \Test{1}{-1}{0}%
-  \Test{10}{1}{100}%
-  \Test{10}{-1}{1}%
-  \Test{1}{32}{100000000000000000000000000000000}%
-  \Test{1}{-100}{0}%
-  \def\Op{Right}%
-  \Test{0}{0}{0}%
-  \Test{0}{1}{0}%
-  \Test{0}{-1}{0}%
-  \Test{1}{0}{1}%
-  \Test{1}{1}{0}%
-  \Test{1}{-1}{10}%
-  \Test{10}{1}{1}%
-  \Test{10}{-1}{100}%
-  \Test{1}{-32}{100000000000000000000000000000000}%
-  \Test{1}{100}{0}%
-  \Test{110110110110110}{10}{11011}%
-  \Test{110110110110110}{100}{0}%
-  \Test{1}{100000}{0}%
-\end{qstest}
-
-\begin{qstest}{Profile: Set}{Profile: Set}
-  \bitsetSet{abc}{4095}%
-  \global\let\BS at global\BS at abc
-\end{qstest}
-
-\begin{qstest}{Profile: Get}{Profile: Get}
-  \edef\x{\bitsetGet{global}{4095}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -4064,9 +2826,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   bitset.sty & tex/generic/oberdiek/bitset.sty\\
 %   bitset.pdf & doc/latex/oberdiek/bitset.pdf\\
-%   test/bitset-test1.tex & doc/latex/oberdiek/test/bitset-test1.tex\\
-%   test/bitset-test2.tex & doc/latex/oberdiek/test/bitset-test2.tex\\
-%   test/bitset-test3.tex & doc/latex/oberdiek/test/bitset-test3.tex\\
 %   bitset.dtx & source/latex/oberdiek/bitset.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -64,7 +64,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/bmpsize.sty
 %    TDS:tex/latex/oberdiek/bmpsize-base.sty
-%    TDS:tex/latex/oberdiek/bmpsize-test.tex
 %    TDS:tex/latex/oberdiek/bmpsize-dvips.def
 %    TDS:tex/latex/oberdiek/bmpsize-dvipdfm.def
 %    TDS:tex/latex/oberdiek/bmpsize-dvipdfmx.def
@@ -140,10 +139,6 @@
   \file{bmpsize-dvips.def}{\from{bmpsize.dtx}{dvips}}%
   \file{bmpsize-dvipdfm.def}{\from{bmpsize.dtx}{dvipdfm}}%
   \file{bmpsize-dvipdfmx.def}{\from{bmpsize.dtx}{dvipdfmx}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{bmpsize.xml}{\from{bmpsize.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -182,21 +177,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{bmpsize.drv}
 %
@@ -3791,7 +3771,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   bmpsize.sty & tex/latex/oberdiek/bmpsize.sty\\
 %   bmpsize-base.sty & tex/latex/oberdiek/bmpsize-base.sty\\
-%   bmpsize-test.tex & tex/latex/oberdiek/bmpsize-test.tex\\
 %   bmpsize-dvips.def & tex/latex/oberdiek/bmpsize-dvips.def\\
 %   bmpsize-dvipdfm.def & tex/latex/oberdiek/bmpsize-dvipdfm.def\\
 %   bmpsize-dvipdfmx.def & tex/latex/oberdiek/bmpsize-dvipdfmx.def\\
@@ -3911,7 +3890,7 @@
 %   D.\,P.\,Carlisle, The \LaTeX\ Project:
 %   \textit{Packages in the `graphics' bundle},
 %   2005/11/14;
-%   \CTAN{macros/latex/required/graphics/grfguide.pdf}.
+%   \CTANpkg{grfguide}.
 %
 % \subsection{URLs for bitmap format descriptions}
 %

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,3471 +0,0 @@
-% \iffalse meta-comment
-%
-% File: bookmark.dtx
-% Version: 2019/06/04 v1.27
-% Info: PDF bookmarks
-%
-% Copyright (C)
-%    2007-2011 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% This work consists of the main source file bookmark.dtx
-% and the derived files
-%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%    bookmark-example.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/bookmark.dtx
-%    CTAN:macros/latex/contrib/oberdiek/bookmark.pdf
-%
-% Unpacking:
-%    (a) If bookmark.ins is present:
-%           tex bookmark.ins
-%    (b) Without bookmark.ins:
-%           tex bookmark.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{bookmark.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If bookmark.drv is present:
-%           latex bookmark.drv
-%    (b) Without bookmark.drv:
-%           latex bookmark.dtx; ...
-%    The class ltxdoc loads the configuration file ltxdoc.cfg
-%    if available. Here you can specify further options, e.g.
-%    use A4 as paper format:
-%       \PassOptionsToClass{a4paper}{article}
-%
-%    Programm calls to get the documentation (example):
-%       pdflatex bookmark.dtx
-%       makeindex -s gind.ist bookmark.idx
-%       pdflatex bookmark.dtx
-%       makeindex -s gind.ist bookmark.idx
-%       pdflatex bookmark.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/bookmark.sty
-%    TDS:tex/latex/oberdiek/bkm-dvipdfm.def
-%    TDS:tex/latex/oberdiek/bkm-dvips.def
-%    TDS:tex/latex/oberdiek/bkm-dvipsone.def
-%    TDS:tex/latex/oberdiek/bkm-textures.def
-%    TDS:tex/latex/oberdiek/bkm-pdftex.def
-%    TDS:tex/latex/oberdiek/bkm-vtex.def
-%    TDS:doc/latex/oberdiek/bookmark.pdf
-%    TDS:doc/latex/oberdiek/bookmark-example.tex
-%    TDS:source/latex/oberdiek/bookmark.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: bookmark 2019/06/04 v1.27 PDF bookmarks (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: bookmark
-Version: 2019/06/04 v1.27
-
-Copyright (C)
-   2007-2011 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-This work consists of the main source file bookmark.dtx
-and the derived files
-   bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-   bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-   bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-   bookmark-example.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{bookmark.ins}{\from{bookmark.dtx}{install}}%
-  \file{bookmark.drv}{\from{bookmark.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{bookmark.sty}{\from{bookmark.dtx}{package}}%
-  \file{bkm-dvipdfm.def}{\from{bookmark.dtx}{dvipdfm}}%
-  \file{bkm-dvips.def}{\from{bookmark.dtx}{dvips,pdfmark}}%
-  \file{bkm-dvipsone.def}{\from{bookmark.dtx}{dvipsone,pdfmark}}%
-  \file{bkm-textures.def}{\from{bookmark.dtx}{textures,pdfmark}}%
-  \file{bkm-pdftex.def}{\from{bookmark.dtx}{pdftex}}%
-  \file{bkm-vtex.def}{\from{bookmark.dtx}{vtex}}%
-  \usedir{doc/latex/oberdiek}%
-  \file{bookmark-example.tex}{\from{bookmark.dtx}{example}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{bookmark.xml}{\from{bookmark.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     bookmark.sty, bkm-dvipdfm.def, bkm-dvips.def,}
-\Msg{*     bkm-dvipsone.def, bkm-textures.def, bkm-pdftex.def,}
-\Msg{*     bkm-vtex.def}
-\Msg{*}
-\Msg{* To produce the documentation run the file `bookmark.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bookmark.drv}%
-  [2019/06/04 v1.27 PDF bookmarks (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{bookmark.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
-%
-% \GetFileInfo{bookmark.drv}
-%
-% \title{The \xpackage{bookmark} package}
-% \date{2019/06/04 v1.27}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package implements a new bookmark (outline) organization for
-% package \xpackage{hyperref}. Bookmark properties such
-% as style and color can now be set. Other action types
-% are available (URI, GoToR, Named). The bookmarks are
-% generated in the first compile run. Package \xpackage{hyperref}
-% uses two runs.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% This package \xpackage{bookmark} tries to provide a more modern
-% management for bookmarks:
-% \begin{itemize}
-% \item The bookmarks are already generated in the first \hologo{TeX} compile run.
-% \item The font style and color of the bookmarks can be changed.
-% \item More actions than simple GoTo actions are possible.
-% \end{itemize}
-%
-% In the same way as \xpackage{hyperref} \cite{hyperref}
-% the bookmarks are generated
-% in the order of the bookmark generating macros (\cs{bookmark}).
-% A level number is used to define the tree structure of the bookmarks.
-% The restrictions are less strict:
-% \begin{itemize}
-% \item The level values may jump and omit values. A \cs{subsubsection}
-%       may follow a \cs{chapter}. This was an error in \xpackage{hyperref},
-%       that prints a warning and tries to fix this.
-% \item Several bookmarks may point to the same destination.
-%       In \xpackage{hyperref} this would mess up the bookmark tree
-%       completely, because the algorithm assumes that the destination
-%       names are keys (unique).
-% \end{itemize}
-%
-% Note that this package is intended as experimentation platform
-% for bookmark management. Feedback is welcome. Also the interfaces
-% may change in future versions.
-%
-% \subsection{Options}
-%
-% Options can be given at four places:
-% \begin{enumerate}
-% \item \cs{usepackage}|[|\meta{options}|]{bookmark}|\\
-%       This is the only place for driver options
-%       and option \xoption{atend}.
-% \item \cs{bookmarksetup}|{|\meta{options}|}|\\
-%       This command is just for setting options.
-% \item \cs{bookmarksetupnext}|{|\meta{options}|}|\\
-%       The options are stored and called after the
-%       options of the next \cs{bookmark} command.
-% \item \cs{bookmark}|[|\meta{options}|]{|\meta{title}|}|\\
-%       This command sets the bookmark. The option settings remain
-%       limited to this bookmark.
-% \end{enumerate}
-% Exception: Driver options, option \xoption{atend} and
-% options \xoption{draft}\slash\xoption{final}
-% cannot be changed after the package is loaded.
-%
-% \subsubsection{Options \xoption{draft} and \xoption{final}}
-%
-% If a \LaTeX\ file is compiled several times, then a little
-% time can be saved, if option \xoption{draft} is used to
-% disable the bookmark stuff of this package. Default is
-% \xoption{final}.
-% Both options are boolean options, without
-% value the value |true| is used. |draft=true| is the same
-% as |final=false|.
-%
-% Options of package \xpackage{bookmark} are local options
-% with the exception of driver options. Therefore \xoption{draft}
-% or \xoption{final} given as class option is not seen by this
-% package. If you want to optimize first \LaTeX\ runs depending
-% on a global \xoption{draft}, then package \xpackage{ifdraft}
-% and \LaTeX's \cs{PassOptionsToPackage}
-% might help in the organization of the preamble, for example:
-%\begin{quote}
-%\begin{verbatim}
-%\documentclass[draft]{article}
-%\usepackage{ifdraft}
-%\ifdraft{%
-%   \PassOptionsToPackage{draft}{bookmark}%
-%}{}
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{Driver options}
-%
-% Supported drivers are \xoption{pdftex}, \xoption{dvips},
-% \xoption{dvipsone}, \xoption{textures},
-% \xoption{dvipdfm} (\xoption{xetex}), and \xoption{vtex}.
-% The \hologo{TeX} engines \hologo{pdfTeX}, \hologo{XeTeX},
-% and \hologo{VTeX} are automatically detected.
-% The default for the DVI drivers is \xoption{dvips}. This can
-% be changed in the configuration file \xfile{bookmark.cfg} by
-% \cs{BookmarkDriverDefault}, e.g.:
-% \begin{quote}
-% |\def\BookmarkDriverDefault{dvipdfm}|
-% \end{quote}
-%
-% \paragraph{Open bookmarks with dvipdfmx.} Since 2007-04-25 the
-% cvs version of dvipmdfmx contains a patch that extends the
-% \cs{special} for bookmarks in order to specify the open status of
-% an outline entry. Option \xoption{dvipdfmx-outline-open} notifies
-% the package that the dvi driver program understands this kind
-% of \cs{special}. Alternatively \cs{SpecialDvipdfmxOutlineOpen}
-% can be defined as number one in the configuration file or before
-% the package is loaded, e.g.:
-% \begin{quote}
-% |\chardef\SpecialDvipdfmxOutlineOpen=1\relax|
-% \end{quote}
-%
-% \subsubsection{Layout options}
-%
-% \paragraph{Font options.}
-%
-% \begin{description}
-% \item[\xoption{bold}:] The bookmark is shown with a bold font
-%   if the PDF viewer supports this (since PDF 1.4).
-% \item[\xoption{italic}:] An italic font is used (since PDF 1.4).
-% \end{description}
-% Both \xoption{bold} and \xoption{italic} can be used together.
-% Using value |false| disables the font option.
-%
-% \paragraph{Color option.}
-%
-% Colored bookmarks are a feature of PDF 1.4, they are not supported
-% by all PDF viewers.
-% \begin{description}
-% \item[\xoption{color}:] Here the color can be given as
-%   color specification of packages \xpackage{color} or \xpackage{xcolor}.
-%   An empty value means that the color property is not set.
-%   Without package \xpackage{xcolor} the recognized values
-%   are restricted to
-%   \begin{itemize}
-%   \item Empty value, no color is set,\\
-%         example: |color={}|
-%   \item Explicit color specification of color model rgb,\\
-%         example for red: |color=[rgb]{1,0,0}|
-%   \item Explicit color specification of color model gray,\\
-%         example for dark gray: |color=[gray]{0.25}|
-%   \end{itemize}
-%   Note that this restriction also holds if package \xpackage{color}
-%   is loaded. With \xpackage{xcolor}, however, the full range
-%   of color specifications can be used.
-% \end{description}
-%
-% \subsubsection{Action options}
-%
-% \begin{description}
-% \item[\xoption{dest}:] Destination name.
-% \item[\xoption{page}:] Page number, first page is 1.
-% \item[\xoption{view}:] View specification, examples:\\
-%   |view={FitB}|, |view={FitH 842}|, |view={XYZ 0 100 null}|
-%   Some view specification parameters expect numbers as parameters
-%   with unit bp. They can be given either as plain numbers or
-%   as length expressions inside \cs{calc}. Expressions of
-%   package \xpackage{calc} are supported if the package is loaded.
-%   Otherwise \hologo{eTeX}'s \cs{dimexpr} is used. Example:\\
-%   |view={FitH \calc{\paperheight-\topmargin-1in}}|\\
-%   |view={XYZ 0 \calc{\paperheight} null}|\\
-%   Note that \cs{calc} cannot be used for the third parameter
-%   of |XYZ|. This parameter is the zoom value, not a length.
-% \item[\xoption{named}:] Named action name:\\
-%   |FirstPage|, |LastPage|, |NextPage|, |PrevPage|
-% \item[\xoption{gotor}:] Name of the external PDF file.
-% \item[\xoption{uri}:] URI specification.
-% \item[\xoption{rawaction}:] Raw action specification.
-%   Because these specification depends on the driver this option
-%   should not be used.
-% \end{description}
-% The appropriate action for the bookmark is selected by
-% analyzing the specified options. The actions
-% are distinguished by different sets of options:
-% \begin{quote}
-% \begin{tabular}{@{}ll@{}}
-%   \textbf{Action} & \textbf{Options}\\
-%   \hline
-%   \textsf{GoTo}: & \xoption{dest}\\
-%   \textsf{GoTo}: & \xoption{page} + \xoption{view}\\
-%   \textsf{GoToR}: & \xoption{gotor} + \xoption{dest}\\
-%   \textsf{GoToR}: & \xoption{gotor} + \xoption{page} + \xoption{view}\\
-%   \textsf{Named}: & \xoption{named}\\
-%   \textsf{URI}: & \xoption{uri}
-% \end{tabular}
-% \end{quote}
-%
-% \paragraph{Missing actions.}
-% If the action is missing package \xpackage{bookmark} throws
-% an error message. Depending on the driver (\xoption{pdftex},
-% \xoption{dvips} and friends) the package detects it quite late
-% at the end of the document. Since version 2011/04/21 v1.21
-% the package tries printing the line number and file name
-% of the corresponding occurence of \cs{bookmark}.
-% However, \hologo{TeX} does provide the line number, but
-% unhappily the file name is a secret. The package supports
-% some ways to get the file name:
-% \begin{itemize}
-% \item If \hologo{LuaTeX} (indenpendently from DVI or PDF modus)
-%   is running, then its |status.filename| is used automatically.
-% \item Package \cs{currfile} \cite{currfile} redefines \hologo{LaTeX}
-%    internals to keep track of the file name. If the package
-%    is loaded, then its \cs{currfilepath} is detected and used
-%    automatically by package \xpackage{bookmark}.
-% \item The file name can be set manually by option \xoption{scrfile}
-%    in \cs{bookmarksetup} or \cs{bookmark}. But be careful,
-%    manual setting disables the previous ways for file name
-%    detection. And a wrong or missed file name setting might
-%    get you a wrong source location in the error message.
-% \end{itemize}
-%
-% \subsubsection{Level options}
-%
-% The order of the bookmark entries are defined by the
-% appearance order of \cs{bookmark} commands. The tree structure
-% is constructed by the property \xoption{level} of the bookmark nodes.
-% The values of \xoption{level} are integers. If the level of a
-% bookmark entry has a higher value than the previous node, then
-% the entry becomes a child of the previous node. The absolute
-% value of the difference does not matter.
-%
-% Package \xpackage{bookmark} remembers the level of the previous
-% bookmark entry in a global property `current level'.
-%
-% The behaviour of the level system can be configured by following
-% options:
-% \begin{description}
-% \item[\xoption{level}:]
-%    Sets the level, see the description above. If option \xoption{level}
-%    is given without value, then the default behaviour is restored,
-%    that the `current level' is used as level value.
-%    Since version 2010/10/19 v1.16 package \xpackage{bookmark}
-%    also supports names |part|, |section| and other,
-%    if the macros \cs{toclevel at part}, \cs{toclevel at section}
-%    are defined (done by package \xpackage{hyperref}, see
-%    option \xoption{bookmarkdepth}).
-% \item[\xoption{rellevel}:]
-%    Sets the level relative to the previous level.
-%    A positive value means that the bookmark entry become
-%    a child of the previous one.
-% \item[\xoption{keeplevel}:]
-%    Use the level, set by \xoption{level} or \xoption{rellevel},
-%    but do not change the global property `current level'.
-%    The option can be disabled by setting to |false|.
-% \item[\xoption{startatroot}:]
-%    At this time the bookmark tree starts at the top level again.
-%    The next bookmark entry is not sorted as child to a previous entry.
-%    Example scenario: A document uses part. However there are
-%    last chapters that should not be put below the last part:
-%    \begin{quote}
-%\begin{verbatim}
-%\documentclass{book}
-%[...]
-%\begin{document}
-%  \part{First part}
-%    \chapter{First chapter in first part}
-%    [...]
-%  \part{Second part}
-%    \chapter{First chapter in second part}
-%    [...]
-%  \bookmarksetup{startatroot}
-%  \chapter{Index}% does not belong to second part
-%\end{document}
-%\end{verbatim}
-%    \end{quote}
-% \end{description}
-%
-% \subsubsection{Style definitions}
-%
-% A style is a group of option settings. It can be defined
-% by macro \cs{bookmarkdefinestyle} and is used by option \xoption{style}.
-% \begin{declcs}{bookmarkdefinestyle} \M{name} \M{key value list}
-% \end{declcs}
-% The \meta{key value list} of option settings is assigned the
-% style \meta{name}.
-%
-% \begin{description}
-% \item[\xoption{style}:]
-%   The value of option \xoption{style} is the name of a previously
-%   defined style. Its option settings are now executed.
-%   The options may include option \xoption{style}.
-%   Endless recursion by calling the same style recursively
-%   is prevented and throws an error.
-% \end{description}
-%
-% \subsubsection{Hook support}
-%
-% A hook is called right after the processing the optional options
-% of macro \cs{bookmark}.
-% \begin{description}
-% \item[\xoption{addtohook}:]
-%   Code, given as value to this option is added to the hook.
-% \end{description}
-%
-% \begin{declcs}{bookmarkget} \M{option}
-% \end{declcs}
-% Macro \cs{bookmarkget} extracts the value of the latest option
-% setting of option \meta{option}. In case of boolean options number
-% one is returned, if the boolean option is enabled, otherwise the
-% result is zero.
-% The resulting numbers can directly be used in \cs{ifnum} or \cs{ifcase}.
-% If you want to have the digits \texttt{0} and \texttt{1}, then
-% prefix \cs{bookmarkget} with \cs{number}.
-% Macro \cs{bookmarkget} is expandable.
-% In case of
-% unsupported options an empty string is returned.
-% Supported boolean options are
-% \begin{quote}
-%   \xoption{bold},
-%   \xoption{italic},
-%   \xoption{open}
-% \end{quote}
-% Other supported options:
-% \begin{quote}
-%   \xoption{depth},
-%   \xoption{dest},
-%   \xoption{color},
-%   \xoption{gotor},
-%   \xoption{level},
-%   \xoption{named},
-%   \xoption{openlevel},
-%   \xoption{page},
-%   \xoption{rawaction},
-%   \xoption{uri},
-%   \xoption{view},
-% \end{quote}
-% Additionally the following key is available:
-% \begin{quote}
-%   \xoption{text}
-% \end{quote}
-% It returns the text of the outline entry.
-%
-% \paragraph{Option setting.}
-% Inside the hook an option can be set using \cs{bookmarksetup}.
-%
-% \subsection{Compatibility with \xpackage{hyperref}}
-%
-% Package \xpackage{bookmark} automatically disables
-% \xpackage{hyperref}'s bookmarks. However the package
-% uses some of the code of \xpackage{hyperref}. For example,
-% the package redefines the hook \cs{Hy at writebookmark} that
-% \xpackage{hyperref} inserts in \cs{addcontentsline} and
-% other commands. Therefore
-% \xpackage{hyperref}'s bookmarks should not be disabled.
-%
-% Package \xpackage{bookmark} uses \xpackage{hyperref}'s \cs{pdfstringdef}
-% and does not provide a replacement.
-%
-% Some options of \xpackage{hyperref} are also implemented
-% in package \xpackage{bookmark}:
-% \begin{quote}
-% \begin{tabular}{@{}ll@{}}
-%   \xpackage{hyperref} & \xpackage{bookmark}\\
-%   \hline
-%   \xoption{bookmarksdepth} & \xoption{depth}\\
-%   \xoption{bookmarksopen} & \xoption{open}\\
-%   \xoption{bookmarksopenlevel} & \xoption{openlevel}\\
-%   \xoption{bookmarksnumbered} & \xoption{numbered}\\
-% \end{tabular}
-% \end{quote}
-%
-% The following commands are also available:
-% \begin{quote}
-%   \cs{pdfbookmark}\\
-%   \cs{currentpdfbookmark}\\
-%   \cs{subpdfbookmark}\\
-%   \cs{belowpdfbookmark}
-% \end{quote}
-%
-% \subsection{Adding bookmarks at the end}
-%
-% Package option \xoption{atend} enables the following macro:
-% \begin{declcs}{BookmarkAtEnd}
-%   \M{stuff}
-% \end{declcs}
-% Macro \cs{BookmarkAtEnd} puts \meta{stuff} at the end
-% of the document. \meta{stuff} means bookmark commands.
-% Example:
-% \begin{quote}
-%\begin{verbatim}
-%\usepackage[atend]{bookmark}
-%\BookmarkAtEnd{%
-%  \bookmarksetup{startatroot}%
-%  \bookmark[named=LastPage, level=0]{Last page}%
-%}
-%\end{verbatim}
-% \end{quote}
-%
-% Alternatively, option \xoption{startatroot} can be given
-% in \cs{bookmark}:
-% \begin{quote}
-%\begin{verbatim}
-%\BookmarkAtEnd{%
-%  \bookmark[
-%    startatroot,
-%    named=LastPage,
-%    level=0,
-%  ]{Last page}%
-%}
-%\end{verbatim}
-% \end{quote}
-%
-% \paragraph{Remarks.}
-% \begin{itemize}
-% \item
-%   \cs{BookmarkAtEnd} hides the fact that the method for
-%   adding bookmarks at the end of the document depends
-%   on the driver.
-%
-%   Some drivers
-%   (\xoption{pdftex}, \xoption{dvips}, \xoption{dvipsone},
-%   \xoption{textures}) use package \xpackage{atveryend}'s
-%   for this purpose. \cs{AtEndDocument} is too early,
-%   the last page might not been shipped out. Because the \xext{aux}
-%   file is needed, these drivers use \cs{AfterLastShipout}.
-%
-%   The implementation of the other drivers
-%   (\xoption{dvipdfm}, \xoption{xetex}, \xoption{vtex})
-%   depends on
-%   \cs{special} that does not have an effect after the last
-%   page. In this case \cs{AtEndDvi} of package \xpackage{atenddvi}
-%   helps. It puts its argument on last page of the document.
-%   Two \hologo{LaTeX} runs are necessary at least, because
-%   the last page is detected by a reference.
-% \item
-%   The time of expansion of the argument of \cs{BookmarkAtEnd}
-%   is not specified. This can happen immediately or at the end
-%   of the document.
-% \end{itemize}
-%
-% \subsection{Limitations/ToDos}
-%
-% \begin{itemize}
-% \item Support for missing actions (Launch, \dots).
-% \item Better design for \xpackage{hyperref}'s option
-%       \xoption{bookmarkstype}.
-% \end{itemize}
-%
-% \section{Example}
-%
-%    \begin{macrocode}
-%<*example>
-%    \end{macrocode}
-%    \begin{macrocode}
-\documentclass{article}
-\usepackage{xcolor}[2007/01/21]
-\usepackage{hyperref}
-\usepackage[
-  open,
-  openlevel=2,
-  atend
-]{bookmark}[2019/06/04]
-
-\bookmarksetup{color=blue}
-
-\BookmarkAtEnd{%
-  \bookmarksetup{startatroot}%
-  \bookmark[named=LastPage, level=0]{End/Last page}%
-  \bookmark[named=FirstPage, level=1]{First page}%
-}
-
-\begin{document}
-\section{First section}
-\subsection{Subsection A}
-\begin{figure}
-  \hypertarget{fig}{}%
-  A figure.
-\end{figure}
-\bookmark[
-  rellevel=1,
-  keeplevel,
-  dest=fig
-]{A figure}
-\subsection{Subsection B}
-\subsubsection{Subsubsection C}
-\subsection{Umlauts: \"A\"O\"U\"a\"o\"u\ss}
-\newpage
-\bookmarksetup{
-  bold,
-  color=[rgb]{1,0,0}
-}
-\section{Very important section}
-\bookmarksetup{
-  italic,
-  bold=false,
-  color=blue
-}
-\subsection{Italic section}
-\bookmarksetup{
-  italic=false
-}
-\part{Misc}
-\section{Diverse}
-\subsubsection{Subsubsection, omitting subsection}
-\bookmarksetup{
-  startatroot
-}
-\section{Last section outside part}
-\subsection{Subsection}
-\bookmarksetup{
-  color={}
-}
-\begingroup
-  \bookmarksetup{level=0, color=green!80!black}
-  \bookmark[named=FirstPage]{First page}
-  \bookmark[named=LastPage]{Last page}
-  \bookmark[named=PrevPage]{Previous page}
-  \bookmark[named=NextPage]{Next page}
-\endgroup
-\bookmark[
-  page=2,
-  view=FitH 800
-]{Page 2, FitH 800}
-\bookmark[
-  page=2,
-  view=FitBH \calc{\paperheight-\topmargin-1in-\headheight-\headsep}
-]{Page 2, FitBH top of text body}
-\bookmark[
-  uri={http://www.dante.de/},
-  color=magenta
-]{Dante homepage}
-\bookmark[
-  gotor={t.pdf},
-  page=1,
-  view={XYZ 0 1000 null},
-  color=cyan!75!black
-]{File t.pdf}
-\bookmark[named=FirstPage]{First page}
-\bookmark[rellevel=1, named=LastPage]{Last page (rellevel=1)}
-\bookmark[named=PrevPage]{Previous page}
-\bookmark[level=0, named=FirstPage]{First page (level=0)}
-\bookmark[
-  rellevel=1,
-  keeplevel,
-  named=LastPage
-]{Last page (rellevel=1, keeplevel)}
-\bookmark[named=PrevPage]{Previous page}
-\end{document}
-%    \end{macrocode}
-%    \begin{macrocode}
-%</example>
-%    \end{macrocode}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Package}
-%
-%    \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bookmark}%
-  [2019/06/04 v1.27 PDF bookmarks (HO)]%
-%    \end{macrocode}
-%
-% \subsubsection{Requirements}
-%
-% \paragraph{\hologo{eTeX}.}
-%
-%    \begin{macro}{\BKM at CalcExpr}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-  \def\BKM at CalcExpr#1#2#3#4{%
-    \begingroup
-      \count@=#2\relax
-      \advance\count@ by#3#4\relax
-      \edef\x{\endgroup
-        \def\noexpand#1{\the\count@}%
-      }%
-    \x
-  }%
-\else
-  \def\BKM at CalcExpr#1#2#3#4{%
-    \edef#1{%
-      \the\numexpr#2#3#4\relax
-    }%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \paragraph{Escape features of \hologo{pdfTeX}.}
-%
-%    \begin{macrocode}
-\RequirePackage{pdfescape}[2007/03/20]
-%    \end{macrocode}
-%    \begin{macro}{\BKM at EscapeName}
-%    \begin{macrocode}
-\def\BKM at EscapeName#1{%
-  \ifx#1\@empty
-  \else
-    \EdefEscapeName#1#1%
-  \fi
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at EscapeString}
-%    \begin{macrocode}
-\def\BKM at EscapeString#1{%
-  \ifx#1\@empty
-  \else
-    \EdefEscapeString#1#1%
-  \fi
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at EscapeHex}
-%    \begin{macrocode}
-\def\BKM at EscapeHex#1{%
-  \ifx#1\@empty
-  \else
-    \EdefEscapeHex#1#1%
-  \fi
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at UnescapeHex}
-%    \begin{macrocode}
-\def\BKM at UnescapeHex#1{%
-  \EdefUnescapeHex#1#1%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \paragraph{Packages.}
-%
-%    \begin{macrocode}
-\RequirePackage{ifpdf}[2009/04/10]
-\RequirePackage{ifxetex}
-\RequirePackage{ifvtex}[2008/11/04]
-\RequirePackage{ifluatex}[2010/03/01]
-\RequirePackage{pdftexcmds}[2010/11/04]
-\RequirePackage{hyperref}[2010/06/18]
-\RequirePackage{auxhook}[2007/04/06]
-\RequirePackage{kvsetkeys}[2010/03/01]
-\RequirePackage{kvoptions}[2009/08/13]
-\RequirePackage{hycolor}[2008/09/08]
-\RequirePackage{bitset}[2011/01/30]
-\RequirePackage{ltxcmds}[2011/04/14]
-%    \end{macrocode}
-%
-% \subsubsection{Package options}
-%
-%    \begin{macrocode}
-\SetupKeyvalOptions{family=BKM,prefix=BKM@}
-\DeclareLocalOptions{%
-  atend,%
-  bold,%
-  color,%
-  depth,%
-  dest,%
-  draft,%
-  final,%
-  gotor,%
-  italic,%
-  keeplevel,%
-  level,%
-  named,%
-  numbered,%
-  open,%
-  openlevel,%
-  page,%
-  rawaction,%
-  rellevel,%
-  srcfile,%
-  srcline,%
-  startatroot,%
-  uri,%
-  view,%
-}
-%    \end{macrocode}
-%    \begin{macro}{\bookmarksetup}
-%    \begin{macrocode}
-\newcommand*{\bookmarksetup}{\kvsetkeys{BKM}}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at setup}
-%    \begin{macrocode}
-\def\BKM at setup#1{%
-  \bookmarksetup{#1}%
-  \ifx\BKM at HookNext\ltx at empty
-  \else
-    \expandafter\bookmarksetup\expandafter{\BKM at HookNext}%
-    \BKM at HookNextClear
-  \fi
-  \BKM at hook
-  \ifBKM at keeplevel
-  \else
-    \xdef\BKM at currentlevel{\BKM at level}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bookmarksetupnext}
-%    \begin{macrocode}
-\newcommand*{\bookmarksetupnext}[1]{%
-  \ltx at GlobalAppendToMacro\BKM at HookNext{,#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at setupnext}
-%    \begin{macrocode}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at HookNextClear}
-%    \begin{macrocode}
-\def\BKM at HookNextClear{%
-  \global\let\BKM at HookNext\ltx at empty
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at HookNext}
-%    \begin{macrocode}
-\BKM at HookNextClear
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\DeclareBoolOption{draft}
-\DeclareComplementaryOption{final}{draft}
-%    \end{macrocode}
-%    \begin{macro}{\BKM at DisableOptions}
-%    \begin{macrocode}
-\def\BKM at DisableOptions{%
-  \DisableKeyvalOption[action=warning,package=bookmark]%
-      {BKM}{draft}%
-  \DisableKeyvalOption[action=warning,package=bookmark]%
-      {BKM}{final}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\DeclareBoolOption[\ifHy at bookmarksopen true\else false\fi]{open}
-%    \end{macrocode}
-%    \begin{macro}{\bookmark at open}
-%    \begin{macrocode}
-\def\bookmark at open{%
-  \ifBKM at open\ltx at one\else\ltx at zero\fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\DeclareStringOption[\maxdimen]{openlevel}
-%    \end{macrocode}
-%    \begin{macro}{\BKM at openlevel}
-%    \begin{macrocode}
-\edef\BKM at openlevel{\number\@bookmarksopenlevel}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-%\DeclareStringOption[\c at tocdepth]{depth}
-\ltx at IfUndefined{Hy at bookmarksdepth}{%
-  \def\BKM at depth{\c at tocdepth}%
-}{%
-  \let\BKM at depth\Hy at bookmarksdepth
-}
-\define at key{BKM}{depth}[]{%
-  \edef\BKM at param{#1}%
-  \ifx\BKM at param\@empty
-    \def\BKM at depth{\c at tocdepth}%
-  \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
-      \@onelevel at sanitize\BKM at param
-      \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
-      \ifcase 0\expandafter\ifx\BKM at temp-1\fi
-              \expandafter\ifnum\expandafter`\BKM at temp>47 %
-                \expandafter\ifnum\expandafter`\BKM at temp<58 %
-                  1%
-                \fi
-              \fi
-              \relax
-        \PackageWarning{bookmark}{%
-          Unknown document division name (\BKM at param)\MessageBreak
-          for option `depth'%
-        }%
-      \else
-        \BKM at SetDepthOrLevel\BKM at depth\BKM at param
-      \fi
-    }{%
-      \BKM at SetDepthOrLevel\BKM at depth{%
-        \csname toclevel@\BKM at param\endcsname
-      }%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \begin{macro}{\bookmark at depth}
-%    \begin{macrocode}
-\def\bookmark at depth{\BKM at depth}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at SetDepthOrLevel}
-%    \begin{macrocode}
-\def\BKM at SetDepthOrLevel#1#2{%
-  \begingroup
-    \setbox\z@=\hbox{%
-      \count@=#2\relax
-      \expandafter
-    }%
-  \expandafter\endgroup
-  \expandafter\def\expandafter#1\expandafter{\the\count@}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\DeclareStringOption[\BKM at currentlevel]{level}[\BKM at currentlevel]
-\define at key{BKM}{level}{%
-  \edef\BKM at param{#1}%
-  \ifx\BKM at param\BKM at MacroCurrentLevel
-    \let\BKM at level\BKM at param
-  \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
-      \@onelevel at sanitize\BKM at param
-      \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
-      \ifcase 0\expandafter\ifx\BKM at temp-1\fi
-              \expandafter\ifnum\expandafter`\BKM at temp>47 %
-                \expandafter\ifnum\expandafter`\BKM at temp<58 %
-                  1%
-                \fi
-              \fi
-              \relax
-        \PackageWarning{bookmark}{%
-          Unknown document division name (\BKM at param)\MessageBreak
-          for option `level'%
-        }%
-      \else
-        \BKM at SetDepthOrLevel\BKM at level\BKM at param
-      \fi
-    }{%
-      \BKM at SetDepthOrLevel\BKM at level{%
-        \csname toclevel@\BKM at param\endcsname
-      }%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \begin{macro}{\BKM at MacroCurrentLevel}
-%    \begin{macrocode}
-\def\BKM at MacroCurrentLevel{\BKM at currentlevel}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\DeclareBoolOption{keeplevel}
-\DeclareBoolOption{startatroot}
-%    \end{macrocode}
-%    \begin{macro}{\BKM at startatrootfalse}
-%    \begin{macrocode}
-\def\BKM at startatrootfalse{%
-  \global\let\ifBKM at startatroot\iffalse
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at startatroottrue}
-%    \begin{macrocode}
-\def\BKM at startatroottrue{%
-  \global\let\ifBKM at startatroot\iftrue
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\define at key{BKM}{rellevel}{%
-  \BKM at CalcExpr\BKM at level{#1}+\BKM at currentlevel
-}
-%    \end{macrocode}
-%    \begin{macro}{\bookmark at level}
-%    \begin{macrocode}
-\def\bookmark at level{\BKM at level}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at currentlevel}
-%    \begin{macrocode}
-\def\BKM at currentlevel{0}
-%    \end{macrocode}
-%    \end{macro}
-%    Make \xpackage{bookmark}'s option \xoption{numbered} an alias
-%    for \xpackage{hyperref}'s \xoption{bookmarksnumbered}.
-%    \begin{macrocode}
-\DeclareBoolOption[%
-  \ifHy at bookmarksnumbered true\else false\fi
-]{numbered}
-\g at addto@macro\BKM at numberedtrue{%
-  \let\ifHy at bookmarksnumbered\iftrue
-}
-\g at addto@macro\BKM at numberedfalse{%
-  \let\ifHy at bookmarksnumbered\iffalse
-}
-\g at addto@macro\Hy at bookmarksnumberedtrue{%
-  \let\ifBKM at numbered\iftrue
-}
-\g at addto@macro\Hy at bookmarksnumberedfalse{%
-  \let\ifBKM at numbered\iffalse
-}
-%    \end{macrocode}
-%    \begin{macro}{\bookmark at numbered}
-%    \begin{macrocode}
-\def\bookmark at numbered{%
-  \ifBKM at numbered\ltx at one\else\ltx at zero\fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \paragraph{Redefinitions \xpackage{hyperref}'s options}
-%
-%    \begin{macro}{\BKM at PatchHyperrefOption}
-%    \begin{macrocode}
-\def\BKM at PatchHyperrefOption#1{%
-  \expandafter\BKM@@PatchHyperrefOption\csname KV at Hyp@#1\endcsname%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM@@PatchHyperrefOption}
-%    \begin{macrocode}
-\def\BKM@@PatchHyperrefOption#1{%
-  \expandafter\BKM@@@PatchHyperrefOption#1{##1}\BKM at nil#1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM@@@PatchHyperrefOption}
-%    \begin{macrocode}
-\def\BKM@@@PatchHyperrefOption#1\BKM at nil#2#3{%
-  \def#2##1{%
-    #1%
-    \bookmarksetup{#3={##1}}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\BKM at PatchHyperrefOption{bookmarksopen}{open}
-\BKM at PatchHyperrefOption{bookmarksopenlevel}{openlevel}
-\BKM at PatchHyperrefOption{bookmarksdepth}{depth}
-%    \end{macrocode}
-%
-% \paragraph{Font style options.}
-%
-%    Caution: Package \xpackage{bitset} is zero-based, the
-%    PDF specifications starts with one.
-%    \begin{macrocode}
-\bitsetReset{BKM at FontStyle}%
-\define at key{BKM}{italic}[true]{%
-  \expandafter\ifx\csname if#1\endcsname\iftrue
-    \bitsetSet{BKM at FontStyle}{0}%
-  \else
-    \bitsetClear{BKM at FontStyle}{0}%
-  \fi
-}%
-\define at key{BKM}{bold}[true]{%
-  \expandafter\ifx\csname if#1\endcsname\iftrue
-    \bitsetSet{BKM at FontStyle}{1}%
-  \else
-    \bitsetClear{BKM at FontStyle}{1}%
-  \fi
-}%
-%    \end{macrocode}
-%    \begin{macro}{\bookmark at italic}
-%    \begin{macrocode}
-\def\bookmark at italic{%
-  \ifnum\bitsetGet{BKM at FontStyle}{0}=1 \ltx at one\else\ltx at zero\fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at bold}
-%    \begin{macrocode}
-\def\bookmark at bold{%
-  \ifnum\bitsetGet{BKM at FontStyle}{1}=1 \ltx at one\else\ltx at zero\fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at PrintStyle}
-%    \begin{macrocode}
-\def\BKM at PrintStyle{%
-  \bitsetGetDec{BKM at FontStyle}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \paragraph{Options for color.}
-%
-%    \begin{macrocode}
-\define at key{BKM}{color}{%
-  \HyColor at BookmarkColor{#1}\BKM at color{bookmark}{color}%
-}
-%    \end{macrocode}
-%    \begin{macro}{\BKM at color}
-%    \begin{macrocode}
-\let\BKM at color\@empty
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at color}
-%    \begin{macrocode}
-\def\bookmark at color{\BKM at color}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Action options}
-%
-%    \begin{macrocode}
-\def\BKM at temp#1{%
-  \DeclareStringOption{#1}%
-  \expandafter\edef\csname bookmark@#1\endcsname{%
-    \expandafter\noexpand\csname BKM@#1\endcsname
-  }%
-}
-%    \end{macrocode}
-%    \begin{macro}{\bookmark at dest}
-%    \begin{macrocode}
-\BKM at temp{dest}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at named}
-%    \begin{macrocode}
-\BKM at temp{named}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at uri}
-%    \begin{macrocode}
-\BKM at temp{uri}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at gotor}
-%    \begin{macrocode}
-\BKM at temp{gotor}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at rawaction}
-%    \begin{macrocode}
-\BKM at temp{rawaction}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\define at key{BKM}{page}{%
-  \def\BKM at page{#1}%
-  \ifx\BKM at page\@empty
-  \else
-    \edef\BKM at page{\number\BKM at page}%
-    \ifnum\BKM at page>\z@
-    \else
-      \PackageError{bookmark}{Page must be positive}\@ehc
-      \def\BKM at page{1}%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \begin{macro}{\BKM at page}
-%    \begin{macrocode}
-\let\BKM at page\@empty
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at page}
-%    \begin{macrocode}
-\def\bookmark at page{\BKM@@page}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\define at key{BKM}{view}{%
-  \BKM at CheckView{#1}%
-}
-%    \end{macrocode}
-%    \begin{macro}{\BKM at view}
-%    \begin{macrocode}
-\let\BKM at view\@empty
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bookmark at view}
-%    \begin{macrocode}
-\def\bookmark at view{\BKM at view}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{BKM at CheckView}
-%    \begin{macrocode}
-\def\BKM at CheckView#1{%
-  \BKM at CheckViewType#1 \@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at CheckViewType}
-%    \begin{macrocode}
-\def\BKM at CheckViewType#1 #2\@nil{%
-  \def\BKM at type{#1}%
-  \@onelevel at sanitize\BKM at type
-  \BKM at TestViewType{Fit}{}%
-  \BKM at TestViewType{FitB}{}%
-  \BKM at TestViewType{FitH}{%
-    \BKM at CheckParam#2 \@nil{top}%
-  }%
-  \BKM at TestViewType{FitBH}{%
-    \BKM at CheckParam#2 \@nil{top}%
-  }%
-  \BKM at TestViewType{FitV}{%
-    \BKM at CheckParam#2 \@nil{bottom}%
-  }%
-  \BKM at TestViewType{FitBV}{%
-    \BKM at CheckParam#2 \@nil{bottom}%
-  }%
-  \BKM at TestViewType{FitR}{%
-    \BKM at CheckRect{#2}{ }%
-  }%
-  \BKM at TestViewType{XYZ}{%
-    \BKM at CheckXYZ{#2}{ }%
-  }%
-  \@car{%
-    \PackageError{bookmark}{%
-      Unknown view type `\BKM at type',\MessageBreak
-      using `FitH' instead%
-    }\@ehc
-    \def\BKM at view{FitH}%
-  }%
-  \@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at TestViewType}
-%    \begin{macrocode}
-\def\BKM at TestViewType#1{%
-  \def\BKM at temp{#1}%
-  \@onelevel at sanitize\BKM at temp
-  \ifx\BKM at type\BKM at temp
-    \let\BKM at view\BKM at temp
-    \expandafter\@car
-  \else
-    \expandafter\@gobble
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{BKM at CheckParam}
-%    \begin{macrocode}
-\def\BKM at CheckParam#1 #2\@nil#3{%
-  \def\BKM at param{#1}%
-  \ifx\BKM at param\@empty
-    \PackageWarning{bookmark}{%
-      Missing parameter (#3) for `\BKM at type',\MessageBreak
-      using 0%
-    }%
-    \def\BKM at param{0}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{BKM at CheckRect}
-%    \begin{macrocode}
-\def\BKM at CheckRect#1#2{%
-  \BKM@@CheckRect#1#2#2#2#2\@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM@@CheckRect}
-%    \begin{macrocode}
-\def\BKM@@CheckRect#1 #2 #3 #4 #5\@nil{%
-  \def\BKM at temp{0}%
-  \def\BKM at param{#1}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#2}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#3}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#4}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \ifnum\BKM at temp>\z@
-    \PackageWarning{bookmark}{Missing parameters for `\BKM at type'}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at CheckXYZ}
-%    \begin{macrocode}
-\def\BKM at CheckXYZ#1#2{%
-  \BKM@@CheckXYZ#1#2#2#2\@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM@@CheckXYZ}
-%    \begin{macrocode}
-\def\BKM@@CheckXYZ#1 #2 #3 #4\@nil{%
-  \def\BKM at param{#1}%
-  \let\BKM at temp\BKM at param
-  \@onelevel at sanitize\BKM at temp
-  \ifx\BKM at param\@empty
-    \let\BKM at param\BKM at null
-  \else
-    \ifx\BKM at temp\BKM at null
-    \else
-      \BKM at CalcParam
-    \fi
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#2}%
-  \let\BKM at temp\BKM at param
-  \@onelevel at sanitize\BKM at temp
-  \ifx\BKM at param\@empty
-    \let\BKM at param\BKM at null
-  \else
-    \ifx\BKM at temp\BKM at null
-    \else
-      \BKM at CalcParam
-    \fi
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#3}%
-  \ifx\BKM at param\@empty
-    \let\BKM at param\BKM at null
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at null}
-%    \begin{macrocode}
-\def\BKM at null{null}
-\@onelevel at sanitize\BKM at null
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BKM at CalcParam}
-%    \begin{macrocode}
-\def\BKM at CalcParam{%
-  \begingroup
-  \let\calc\@firstofone
-  \expandafter\BKM@@CalcParam\BKM at param\@empty\@empty\@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM@@CalcParam}
-%    \begin{macrocode}
-\def\BKM@@CalcParam#1#2#3\@nil{%
-  \ifx\calc#1%
-    \@ifundefined{calc at assign@dimen}{%
-      \@ifundefined{dimexpr}{%
-        \setlength{\dimen@}{#2}%
-      }{%
-        \setlength{\dimen@}{\dimexpr#2\relax}%
-      }%
-    }{%
-      \setlength{\dimen@}{#2}%
-    }%
-    \dimen at .99626\dimen@
-    \edef\BKM at param{\strip at pt\dimen@}%
-    \expandafter\endgroup
-    \expandafter\def\expandafter\BKM at param\expandafter{\BKM at param}%
-  \else
-    \endgroup
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Option \xoption{atend}}
-%
-%    \begin{macrocode}
-\DeclareBoolOption{atend}
-\g at addto@macro\BKM at DisableOptions{%
-  \DisableKeyvalOption[action=warning,package=bookmark]%
-      {BKM}{atend}%
-}
-%    \end{macrocode}
-%
-% \subsubsection{Option \xoption{style}}
-%
-%    \begin{macro}{\bookmarkdefinestyle}
-%    \begin{macrocode}
-\newcommand*{\bookmarkdefinestyle}[2]{%
-  \@ifundefined{BKM at style@#1}{%
-  }{%
-    \PackageInfo{bookmark}{Redefining style `#1'}%
-  }%
-  \@namedef{BKM at style@#1}{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\define at key{BKM}{style}{%
-  \BKM at StyleCall{#1}%
-}
-\newif\ifBKM at ok
-%    \end{macrocode}
-%    \begin{macro}{\BKM at StyleCall}
-%    \begin{macrocode}
-\def\BKM at StyleCall#1{%
-  \@ifundefined{BKM at style@#1}{%
-    \PackageWarning{bookmark}{%
-      Ignoring unknown style `#1'%
-    }%
-  }{%
-%    \end{macrocode}
-%    Check style stack.
-%    \begin{macrocode}
-    \BKM at oktrue
-    \edef\BKM at StyleCurrent{#1}%
-    \@onelevel at sanitize\BKM at StyleCurrent
-    \let\BKM at StyleEntry\BKM at StyleEntryCheck
-    \BKM at StyleStack
-    \ifBKM at ok
-      \expandafter\@firstofone
-    \else
-      \PackageError{bookmark}{%
-        Ignoring recursive call of style `\BKM at StyleCurrent'%
-      }\@ehc
-      \expandafter\@gobble
-    \fi
-    {%
-%    \end{macrocode}
-%    Push current style on stack.
-%    \begin{macrocode}
-      \let\BKM at StyleEntry\relax
-      \edef\BKM at StyleStack{%
-        \BKM at StyleEntry{\BKM at StyleCurrent}%
-        \BKM at StyleStack
-      }%
-%    \end{macrocode}
-%   Call style.
-%    \begin{macrocode}
-      \expandafter\expandafter\expandafter\bookmarksetup
-      \expandafter\expandafter\expandafter{%
-        \csname BKM at style@\BKM at StyleCurrent\endcsname
-      }%
-%    \end{macrocode}
-%    Pop current style from stack.
-%    \begin{macrocode}
-      \BKM at StyleStackPop
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at StyleStackPop}
-%    \begin{macrocode}
-\def\BKM at StyleStackPop{%
-  \let\BKM at StyleEntry\relax
-  \edef\BKM at StyleStack{%
-    \expandafter\@gobbletwo\BKM at StyleStack
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at StyleEntryCheck}
-%    \begin{macrocode}
-\def\BKM at StyleEntryCheck#1{%
-  \def\BKM at temp{#1}%
-  \ifx\BKM at temp\BKM at StyleCurrent
-    \BKM at okfalse
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at StyleStack}
-%    \begin{macrocode}
-\def\BKM at StyleStack{}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Options for source file location}
-%
-%    \begin{macrocode}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-%    \end{macrocode}
-%
-% \subsubsection{Hook support}
-%
-%    \begin{macro}{\BKM at hook}
-%    \begin{macrocode}
-\def\BKM at hook{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\define at key{BKM}{addtohook}{%
-  \ltx at LocalAppendToMacro\BKM at hook{#1}%
-}
-%    \end{macrocode}
-%
-%    \begin{macro}{bookmarkget}
-%    \begin{macrocode}
-\newcommand*{\bookmarkget}[1]{%
-  \romannumeral0%
-  \ltx at ifundefined{bookmark@#1}{%
-    \ltx at space
-  }{%
-    \expandafter\expandafter\expandafter\ltx at space
-    \csname bookmark@#1\endcsname
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Driver setup and loading}
-%
-% \paragraph{Driver detection.}
-%
-%    \begin{macro}{\BKM at DefineDriverKey}
-%    \begin{macrocode}
-\def\BKM at DefineDriverKey#1{%
-  \define at key{BKM}{#1}[]{%
-    \def\BKM at driver{#1}%
-  }%
-  \g at addto@macro\BKM at DisableOptions{%
-    \DisableKeyvalOption[action=warning,package=bookmark]%
-        {BKM}{#1}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\BKM at DefineDriverKey{pdftex}
-\BKM at DefineDriverKey{dvips}
-\BKM at DefineDriverKey{dvipsone}
-\BKM at DefineDriverKey{textures}
-\BKM at DefineDriverKey{dvipdfm}
-\BKM at DefineDriverKey{dvipdfmx}
-\BKM at DefineDriverKey{xetex}
-\BKM at DefineDriverKey{vtex}
-\define at key{BKM}{dvipdfmx-outline-open}[true]{%
-  \expandafter\ifx\csname if#1\expandafter\endcsname
-                  \csname iftrue\endcsname
-    \chardef\SpecialDvipdfmxOutlineOpen\@ne
-  \else
-    \chardef\SpecialDvipdfmxOutlineOpen\z@
-  \fi
-}
-\g at addto@macro\BKM at DisableOptions{%
-  \DisableKeyvalOption{BKM}{dvipdfmx-outline-open}%
-}
-%    \end{macrocode}
-%    \begin{macro}{\bookmark at driver}
-%    \begin{macrocode}
-\def\bookmark at driver{\BKM at driver}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\InputIfFileExists{bookmark.cfg}{}{}
-%    \end{macrocode}
-%    \begin{macro}{\BookmarkDriverDefault}
-%    \begin{macrocode}
-\providecommand*{\BookmarkDriverDefault}{dvips}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at driver}
-% Lua\TeX\ and pdf\TeX\ share driver.
-%    \begin{macrocode}
-\ifpdf
-  \def\BKM at driver{pdftex}%
-  \ifx\pdfoutline\@undefined
-    \ifx\pdfextension\@undefined\else
-      \protected\def\pdfoutline{\pdfextension outline }
-    \fi
-  \fi
-\else
-  \ifxetex
-    \def\BKM at driver{dvipdfm}%
-  \else
-    \ifvtex
-      \def\BKM at driver{vtex}%
-    \else
-      \edef\BKM at driver{\BookmarkDriverDefault}%
-    \fi
-  \fi
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \paragraph{Process options.}
-%
-%    \begin{macrocode}
-\ProcessKeyvalOptions*
-\BKM at DisableOptions
-%    \end{macrocode}
-%
-% \paragraph{Option \xoption{draft}}
-%
-%    \begin{macrocode}
-\ifBKM at draft
-  \PackageWarningNoLine{bookmark}{Draft mode on}%
-  \let\bookmarksetup\ltx at gobble
-  \let\BookmarkAtEnd\ltx at gobble
-  \let\bookmarkdefinestyle\ltx at gobbletwo
-  \let\bookmarkget\ltx at gobble
-  \let\pdfbookmark\ltx at undefined
-  \newcommand*{\pdfbookmark}[3][]{}%
-  \let\currentpdfbookmark\ltx at gobbletwo
-  \let\subpdfbookmark\ltx at gobbletwo
-  \let\belowpdfbookmark\ltx at gobbletwo
-  \newcommand*{\bookmark}[2][]{}%
-  \renewcommand*{\Hy at writebookmark}[5]{}%
-  \let\ReadBookmarks\relax
-  \let\BKM at DefGotoNameAction\ltx at gobbletwo % package `hypdestopt'
-  \expandafter\endinput
-\fi
-%    \end{macrocode}
-%
-% \paragraph{Driver validation and loading.}
-%
-%    \begin{macrocode}
-\newif\ifBKM at DvipdfmxOutlineOpen
-\ltx at IfUndefined{SpecialDvipdfmxOutlineOpen}{%
-  \ifxetex
-    \ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in %
-    \else
-      \chardef\SpecialDvipdfmxOutlineOpen\ltx at one
-      \BKM at DvipdfmxOutlineOpentrue
-    \fi
-  \fi
-}{%
-  \ifnum\SpecialDvipdfmxOutlineOpen>\z@
-    \BKM at DvipdfmxOutlineOpentrue
-  \fi
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\BKM at temp{dvipdfmx}%
-\ifx\BKM at temp\BKM at driver
-  \def\BKM at driver{dvipdfm}%
-\fi
-\def\BKM at temp{pdftex}%
-\ifpdf
-  \ifx\BKM at temp\BKM at driver
-  \else
-    \PackageWarningNoLine{bookmark}{%
-      Wrong driver `\BKM at driver', using `pdftex' instead%
-    }%
-    \let\BKM at driver\BKM at temp
-  \fi
-\else
-  \ifx\BKM at temp\BKM at driver
-    \PackageError{bookmark}{%
-      Wrong driver, pdfTeX is not running in PDF mode.\MessageBreak
-      Package loading is aborted%
-    }\@ehc
-    \expandafter\expandafter\expandafter\endinput
-  \fi
-  \def\BKM at temp{dvipdfm}%
-  \ifxetex
-    \ifx\BKM at temp\BKM at driver
-    \else
-      \PackageWarningNoLine{bookmark}{%
-        Wrong driver `\BKM at driver',\MessageBreak
-        using `dvipdfm' for XeTeX instead%
-      }%
-      \let\BKM at driver\BKM at temp
-    \fi
-  \else
-    \def\BKM at temp{vtex}%
-    \ifvtex
-      \ifx\BKM at temp\BKM at driver
-      \else
-        \PackageWarningNoLine{bookmark}{%
-          Wrong driver `\BKM at driver',\MessageBreak
-          using `vtex' for VTeX instead%
-        }%
-        \let\BKM at driver\BKM at temp
-      \fi
-    \else
-      \ifx\BKM at temp\BKM at driver
-        \PackageError{bookmark}{%
-          Wrong driver, VTeX is not running in PDF mode.\MessageBreak
-          Package loading is aborted%
-        }\@ehc
-        \expandafter\expandafter\expandafter\endinput
-      \fi
-    \fi
-  \fi
-\fi
-\InputIfFileExists{bkm-\BKM at driver.def}{}{%
-  \PackageError{bookmark}{%
-    Unsupported driver `\BKM at driver'.\MessageBreak
-    Package loading is aborted%
-  }\@ehc
-  \endinput
-}
-%    \end{macrocode}
-%
-% \subsubsection{Compatibility for \xpackage{hyperref}}
-%
-%    \begin{macro}{\pdfbookmark}
-%    \begin{macrocode}
-\let\pdfbookmark\ltx at undefined
-\newcommand*{\pdfbookmark}[3][0]{%
-  \bookmark[level=#1,dest={#3.#1}]{#2}%
-  \hyper at anchorstart{#3.#1}\hyper at anchorend
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\currentpdfbookmark}
-%    \begin{macrocode}
-\def\currentpdfbookmark{%
-  \pdfbookmark[\BKM at currentlevel]%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\subpdfbookmark}
-%    \begin{macrocode}
-\def\subpdfbookmark{%
-  \BKM at CalcExpr\BKM at CalcResult\BKM at currentlevel+1%
-  \expandafter\pdfbookmark\expandafter[\BKM at CalcResult]%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\belowpdfbookmark}
-%    \begin{macrocode}
-\def\belowpdfbookmark#1#2{%
-  \xdef\BKM at gtemp{\number\BKM at currentlevel}%
-  \subpdfbookmark{#1}{#2}%
-  \global\let\BKM at currentlevel\BKM at gtemp
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    Section number, text, label, level, file
-%    \begin{macro}{\Hy at writebookmark}
-%    \begin{macrocode}
-\def\Hy at writebookmark#1#2#3#4#5{%
-  \ifnum#4>\BKM at depth\relax
-  \else
-    \def\BKM at type{#5}%
-    \ifx\BKM at type\Hy at bookmarkstype
-      \begingroup
-        \ifBKM at numbered
-          \let\numberline\Hy at numberline
-          \let\booknumberline\Hy at numberline
-          \let\partnumberline\Hy at numberline
-          \let\chapternumberline\Hy at numberline
-        \else
-          \let\numberline\@gobble
-          \let\booknumberline\@gobble
-          \let\partnumberline\@gobble
-          \let\chapternumberline\@gobble
-        \fi
-        \bookmark[level=#4,dest={#3}]{#2}%
-      \endgroup
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ReadBookmarks}
-%    \begin{macrocode}
-\let\ReadBookmarks\relax
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%
-% \subsection{Driver for dvipdfm}
-%
-%    \begin{macrocode}
-%<*dvipdfm>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipdfm.def}%
-  [2019/06/04 v1.27 bookmark driver for dvipdfm (HO)]%
-%    \end{macrocode}
-%
-%    \begin{macro}{\BKM at id}
-%    \begin{macrocode}
-\newcount\BKM at id
-\BKM at id=\z@
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BKM at 0}
-%    \begin{macrocode}
-\@namedef{BKM at 0}{000}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifBKM at sw}
-%    \begin{macrocode}
-\newif\ifBKM at sw
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bookmark}
-%    \begin{macrocode}
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \def\BKM at abslevel{1}%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}\BKM at abslevel
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \BKM at CalcExpr\BKM at abslevel\BKM at x@abslevel+1%
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}\BKM at abslevel
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \csname HyPsd at XeTeXBigCharstrue\endcsname
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \edef\BKM at action{/Dest[@page1/Fit]}%
-                \else
-                  \ifx\BKM at view\@empty
-                    \def\BKM at view{Fit}%
-                  \fi
-                  \edef\BKM at action{/Dest[@page\BKM at page/\BKM at view]}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  /A<<%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >>%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{/A<<\BKM at rawaction>>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              /A<</S/Named/N/\BKM at named>>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{%
-            /A<<%
-              /S/GoTo%
-              /D(\BKM at dest)%
-            >>%
-          }%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{0}%
-          \else
-            \BKM at CalcExpr\BKM at page\BKM at page-1%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          /A<<%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \special{pdf:%
-        out \ifBKM at DvipdfmxOutlineOpen
-              [%
-              \ifBKM at open
-                \ifnum\BKM at level<%
-                    \expandafter\ltx at firstofone\expandafter
-                    {\number\BKM at openlevel} %
-                \else
-                  -%
-                \fi
-              \else
-                -%
-              \fi
-              ] %
-            \fi
-            \BKM at abslevel
-        <<%
-          /Title(\BKM at title)%
-          \ifx\BKM at color\@empty
-          \else
-            /C[\BKM at color]%
-          \fi
-          \ifnum\BKM at FLAGS>\z@
-            /F \BKM at FLAGS
-          \fi
-          \BKM at action
-        >>%
-      }%
-    \endgroup
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at getx}
-%    \begin{macrocode}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@abslevel{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-%</dvipdfm>
-%    \end{macrocode}
-%
-% \subsection{Driver for \hologo{VTeX}}
-%
-%    \begin{macrocode}
-%<*vtex>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-vtex.def}%
-  [2019/06/04 v1.27 bookmark driver for VTeX (HO)]%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\ifvtexpdf
-\else
-  \PackageWarningNoLine{bookmark}{%
-    The VTeX driver only supports PDF mode%
-  }%
-\fi
-%    \end{macrocode}
-%
-%    \begin{macro}{\BKM at id}
-%    \begin{macrocode}
-\newcount\BKM at id
-\BKM at id=\z@
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BKM at 0}
-%    \begin{macrocode}
-\@namedef{BKM at 0}{00}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifBKM at sw}
-%    \begin{macrocode}
-\newif\ifBKM at sw
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bookmark}
-%    \begin{macrocode}
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \def\BKM at parent{0}%
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \let\BKM at parent\BKM at prev
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}%
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \BKM at vtex@title
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \def\BKM at action{!1}%
-                \else
-                  \edef\BKM at action{!\BKM at page}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  <u=%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{<u=\BKM at rawaction>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              <u=%
-                /S/Named%
-                /N/\BKM at named
-              >%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{\BKM at dest}%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{1}%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          <u=%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \ifx\BKM at color\@empty
-        \let\BKM at RGBcolor\@empty
-      \else
-        \expandafter\BKM at toRGB\BKM at color\@nil
-      \fi
-      \special{%
-        !outline \BKM at action;%
-        p=\BKM at parent,%
-        i=\number\BKM at id,%
-        s=%
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              o%
-            \else
-              c%
-            \fi
-          \else
-            c%
-          \fi,%
-        \ifx\BKM at RGBcolor\@empty
-        \else
-          c=\BKM at RGBcolor,%
-        \fi
-        \ifnum\BKM at FLAGS>\z@
-          f=\BKM at FLAGS,%
-        \fi
-        t=\BKM at title
-      }%
-    \endgroup
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at getx}
-%    \begin{macrocode}
-\def\BKM at getx#1#2{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at toRGB}
-%    \begin{macrocode}
-\def\BKM at toRGB#1 #2 #3\@nil{%
-  \let\BKM at RGBcolor\@empty
-  \BKM at toRGBComponent{#1}%
-  \BKM at toRGBComponent{#2}%
-  \BKM at toRGBComponent{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at toRGBComponent}
-%    \begin{macrocode}
-\def\BKM at toRGBComponent#1{%
-  \dimen@=#1pt\relax
-  \ifdim\dimen@>\z@
-    \ifdim\dimen@<\p@
-      \dimen@=255\dimen@
-      \advance\dimen@ by 32768sp\relax
-      \divide\dimen@ by 65536\relax
-      \dimen at ii=\dimen@
-      \divide\dimen at ii by 16\relax
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen at ii
-      }%
-      \dimen at ii=16\dimen at ii
-      \advance\dimen at -\dimen at ii
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen@
-      }%
-    \else
-      \edef\BKM at RGBcolor{\BKM at RGBcolor FF}%
-    \fi
-  \else
-    \edef\BKM at RGBcolor{\BKM at RGBcolor00}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at toHexDigit}
-%    \begin{macrocode}
-\def\BKM at toHexDigit#1{%
-  \ifcase\expandafter\@firstofone\expandafter{\number#1} %
-    0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
-    8\or 9\or A\or B\or C\or D\or E\or F%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\begingroup
-  \catcode`\|=0 %
-  \catcode`\\=12 %
-%    \end{macrocode}
-%    \begin{macro}{\BKM at vtex@title}
-%    \begin{macrocode}
-  |gdef|BKM at vtex@title{%
-    |@onelevel at sanitize|BKM at title
-    |edef|BKM at title{|expandafter|BKM at vtex@leftparen|BKM at title\(|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@rightparen|BKM at title\)|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@zero|BKM at title\0|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@one|BKM at title\1|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@two|BKM at title\2|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@three|BKM at title\3|@nil}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at vtex@leftparen}
-%    \begin{macrocode}
-  |gdef|BKM at vtex@leftparen#1\(#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      (%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@leftparen#2|@nil
-      }%
-    |fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at vtex@rightparen}
-%    \begin{macrocode}
-  |gdef|BKM at vtex@rightparen#1\)#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      )%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@rightparen#2|@nil
-      }%
-    |fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at vtex@zero}
-%    \begin{macrocode}
-  |gdef|BKM at vtex@zero#1\0#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char0%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@zero#2|@nil
-      }%
-    |fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at vtex@one}
-%    \begin{macrocode}
-  |gdef|BKM at vtex@one#1\1#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char1%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@one#2|@nil
-      }%
-    |fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at vtex@two}
-%    \begin{macrocode}
-  |gdef|BKM at vtex@two#1\2#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char2%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@two#2|@nil
-      }%
-    |fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at vtex@three}
-%    \begin{macrocode}
-  |gdef|BKM at vtex@three#1\3#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char3%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@three#2|@nil
-      }%
-    |fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-|endgroup
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</vtex>
-%    \end{macrocode}
-%
-% \subsection{Driver for \hologo{pdfTeX}}
-%
-%    \begin{macrocode}
-%<*pdftex>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-pdftex.def}%
-  [2019/06/04 v1.27 bookmark driver for pdfTeX (HO)]%
-%    \end{macrocode}
-%
-%    \begin{macro}{\BKM at DO@entry}
-%    \begin{macrocode}
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \def\BKM at DO@title{#2}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \edef\BKM at attr{attr{\BKM at attr}}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{goto page1{/Fit}}%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{goto page\BKM at DO@page{/\BKM at DO@view}}%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{user{<</S/URI/URI(\BKM at DO@uri)>>}}%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              user{%
-                <<%
-                  \BKM at DO@rawaction
-                >>%
-              }%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            user{<</S/Named/N/\BKM at DO@named>>}%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at DefGotoNameAction\BKM at action\BKM at DO@dest
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{0}%
-        \else
-          \BKM at CalcExpr\BKM at DO@page\BKM at DO@page-1%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{/D[\BKM at DO@page/\BKM at DO@view]}%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{/D(\BKM at DO@dest)}%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        user{%
-          <<%
-            /S/GoToR%
-            /F(\BKM at DO@gotor)%
-            \BKM at action
-          >>%
-        }%
-      }%
-    \fi
-    \pdfoutline\BKM at attr\BKM at action
-                count\ifBKM at DO@open\else-\fi\BKM at x@childs
-                {\BKM at DO@title}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at DefGotoNameAction}
-%    Macro \cs{BKM at DefGotoNameAction} is a hook for
-%    package \xpackage{hypdestopt}.
-%    \begin{macrocode}
-\def\BKM at DefGotoNameAction#1#2{%
-  \BKM at EscapeString\BKM at DO@dest
-  \edef#1{goto name{#2}}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-%</pdftex>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*pdftex|pdfmark>
-%    \end{macrocode}
-%    \begin{macro}{\BKM at SourceLocation}
-%    \begin{macrocode}
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-%</pdftex|pdfmark>
-%    \end{macrocode}
-%
-% \subsection{Drivers with pdfmark specials}
-%
-% \subsubsection{Driver dvips}
-%
-%    \begin{macrocode}
-%<*dvips>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvips.def}%
-  [2019/06/04 v1.27 bookmark driver for dvips (HO)]%
-%    \end{macrocode}
-%    \begin{macro}{\BKM at PSHeaderFile}
-%    \begin{macrocode}
-\def\BKM at PSHeaderFile#1{%
-  \special{header=#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-%</dvips>
-%    \end{macrocode}
-%
-% \subsubsection{Driver dvipsone}
-%
-%    \begin{macrocode}
-%<*dvipsone>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipsone.def}%
-  [2019/06/04 v1.27 bookmark driver for dvipsone (HO)]%
-%    \end{macrocode}
-%    \begin{macro}{\BKM at PSHeaderFile}
-%    \begin{macrocode}
-\def\BKM at PSHeaderFile#1{%
-  \special{header=#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-%</dvipsone>
-%    \end{macrocode}
-%
-% \subsubsection{Driver textures}
-%
-%    \begin{macrocode}
-%<*textures>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-textures.def}%
-  [2019/06/04 v1.27 bookmark driver for textures (HO)]%
-%    \end{macrocode}
-%    \begin{macro}{\BKM at PSHeaderFile}
-%    \begin{macrocode}
-\def\BKM at PSHeaderFile#1{%
-  \special{prePostScriptfile #1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-%</textures>
-%    \end{macrocode}
-%
-% \subsubsection{Common part}
-%
-%    \begin{macrocode}
-%<*pdfmark>
-%    \end{macrocode}
-%    \begin{macro}{\BKM at filename}
-%    \begin{macrocode}
-\def\BKM at filename{\jobname.out.ps}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\BKM at PSHeaderFile\BKM at filename
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM at pdfmark@out}
-%    \end{macrocode}
-%
-%    \begin{macro}{\BKM at pdfmark@out}
-%    Do not use package \xpackage{rerunfilecheck} here, because
-%    the file \cs{BKM at filename} is not read during the \hologo{TeX} run.
-%    \begin{macrocode}
-\def\BKM at pdfmark@out{%
-  \if at filesw
-    \newwrite\BKM at file
-    \immediate\openout\BKM at file=\BKM at filename\relax
-    \BKM at write{\@percentchar!}%
-    \BKM at write{/pdfmark where{pop}}%
-    \BKM at write{%
-      {%
-        /globaldict where{pop globaldict}{userdict}ifelse%
-        /pdfmark/cleartomark load put%
-      }%
-    }%
-    \BKM at write{ifelse}%
-  \else
-    \let\BKM at write\@gobble
-    \let\BKM at DO@entry\@gobbletwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at write}
-%    \begin{macrocode}
-\def\BKM at write#{%
-  \immediate\write\BKM at file
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BKM at DO@entry}
-%    The specification for pdfmark says that |/Color| is the
-%    name of the key for color, however ghostscript only passes
-%    the key into the PDF file, thus the key name must be |/C|.
-%    \begin{macrocode}
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \def\BKM at DO@title{#2}%
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page 1%
-                  /View[/Fit]%
-                }%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page \BKM at DO@page
-                  /View[/\BKM at DO@view]%
-                }%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{%
-                /Action<<%
-                  /Subtype/URI%
-                  /URI(\BKM at DO@uri)%
-                >>%
-              }%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              /Action<<%
-                \BKM at DO@rawaction
-              >>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            /Action<<%
-              /Subtype/Named%
-              /N/\BKM at DO@named
-            >>%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Action/GoTo%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{1}%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{%
-          /Page \BKM at DO@page
-          /View[/\BKM at DO@view]%
-        }%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        /Action/GoToR%
-        /File(\BKM at DO@gotor)%
-        \BKM at action
-      }%
-    \fi
-    \BKM at write{[}%
-    \BKM at write{/Title(\BKM at DO@title)}%
-    \ifnum\BKM at x@childs>\z@
-      \BKM at write{/Count \ifBKM at DO@open\else-\fi\BKM at x@childs}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \BKM at write{\BKM at attr}%
-    \fi
-    \BKM at write{\BKM at action}%
-    \BKM at write{/OUT pdfmark}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-%</pdfmark>
-%    \end{macrocode}
-%
-% \subsection{Common part for \xoption{pdftex} and \xoption{pdfmark}}
-%
-%    \begin{macrocode}
-%<*pdftex|pdfmark>
-%    \end{macrocode}
-%
-% \subsubsection{Write auxiliary file}
-%
-%    \begin{macrocode}
-\RequirePackage{auxhook}
-%    \end{macrocode}
-%    \begin{macrocode}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-%    \end{macrocode}
-%
-%    \begin{macro}{\BKM at id}
-%    \begin{macrocode}
-\newcount\BKM at id
-\BKM at id=\z@
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BKM at 0}
-%    \begin{macrocode}
-\@namedef{BKM at 0}{000}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifBKM at sw}
-%    \begin{macrocode}
-\newif\ifBKM at sw
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bookmark}
-%    \begin{macrocode}
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at getx}
-%    \begin{macrocode}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at auxentry}
-%    \begin{macrocode}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BKM at InitSourceLocation}
-%    \begin{macrocode}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BKM at LuaTeX@InitFile}
-%    \begin{macrocode}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Read auxiliary data}
-%
-%    \begin{macrocode}
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at DO@}
-\DeclareStringOption[0]{id}
-\DeclareBoolOption{open}
-\DeclareStringOption{flags}
-\DeclareStringOption{color}
-\DeclareStringOption{dest}
-\DeclareStringOption{named}
-\DeclareStringOption{uri}
-\DeclareStringOption{gotor}
-\DeclareStringOption{page}
-\DeclareStringOption{view}
-\DeclareStringOption{rawaction}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\AtBeginDocument{%
-  \let\BKM at entry\BKM at DO@entry
-}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</pdftex|pdfmark>
-%    \end{macrocode}
-%
-% \subsection{Option \xoption{atend}}
-%
-% \subsubsection{Hook}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%    \begin{macrocode}
-\ifBKM at atend
-\else
-%    \end{macrocode}
-%    \begin{macro}{\BookmarkAtEnd}
-%    This is a dummy definition that generates a warning
-%    if option \xoption{atend} has not been given.
-%    \begin{macrocode}
-  \newcommand{\BookmarkAtEnd}[1]{%
-    \PackageWarning{bookmark}{%
-      Ignored, because option `atend' is missing%
-    }%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \expandafter\endinput
-\fi
-%    \end{macrocode}
-%    \begin{macro}{\BookmarkAtEnd}
-%    \begin{macrocode}
-\newcommand*{\BookmarkAtEnd}{%
-  \g at addto@macro\BKM at EndHook
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\let\BKM at EndHook\@empty
-%    \end{macrocode}
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%
-% \subsubsection{Drivers using hooks at end of document}
-%
-%    The following drivers use package \xpackage{atveryend}'s
-%    \cs{AfterLastShipout}, because they still need the
-%    \xext{aux} file.
-%    \begin{itemize}
-%    \item
-%      Driver \xoption{pdftex} uses \cs{pdfoutline} that can
-%      be used after the last page.
-%    \item
-%      PostScript drivers such as
-%      \xoption{dvips} use an external PostScript header file
-%      for the bookmarks. File writing can be done after
-%      the last shipout page, but before the \xext{aux} file is closed.
-%    \end{itemize}
-%    \begin{macrocode}
-%<*pdftex|pdfmark>
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-%</pdftex|pdfmark>
-%    \end{macrocode}
-%
-% \subsubsection{Drivers using \cs{AtEndDvi}}
-%
-%    The other drivers implement \cs{bookmark} using \cs{special}
-%    commands. Thus the last bookmarks must be put on the last page,
-%    not afterwards.
-%    \cs{AtEndDocument} cannot be used, because it is too late, the
-%    last page can already be output. Therefore we use package
-%    \xpackage{atenddvi} that uses the help of packages \xpackage{atbegshi}
-%    and \xpackage{zref}. The argument of \cs{AtEndDvi} is put
-%    at the end of the last page. At least two \hologo{LaTeX} runs are necessary.
-%    \begin{macrocode}
-%<*dvipdfm|vtex>
-\ifBKM at atend
-  \RequirePackage{atenddvi}%
-  \AtEndDvi{\BKM at EndHook}%
-\fi
-%</dvipdfm|vtex>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{bookmark}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/bookmark.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/bookmark.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-%   |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
-% \begin{quote}
-%   \verb|tex bookmark.dtx|
-% \end{quote}
-%
-% \paragraph{TDS.} Now the different files must be moved into
-% the different directories in your installation TDS tree
-% (also known as \xfile{texmf} tree):
-% \begin{quote}
-% \def\t{^^A
-% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-%   bookmark.sty & tex/latex/oberdiek/bookmark.sty\\
-%   bkm-dvipdfm.def & tex/latex/oberdiek/bkm-dvipdfm.def\\
-%   bkm-dvips.def & tex/latex/oberdiek/bkm-dvips.def\\
-%   bkm-dvipsone.def & tex/latex/oberdiek/bkm-dvipsone.def\\
-%   bkm-textures.def & tex/latex/oberdiek/bkm-textures.def\\
-%   bkm-pdftex.def & tex/latex/oberdiek/bkm-pdftex.def\\
-%   bkm-vtex.def & tex/latex/oberdiek/bkm-vtex.def\\
-%   bookmark.pdf & doc/latex/oberdiek/bookmark.pdf\\
-%   bookmark-example.tex & doc/latex/oberdiek/bookmark-example.tex\\
-%   bookmark.dtx & source/latex/oberdiek/bookmark.dtx\\
-% \end{tabular}^^A
-% }^^A
-% \sbox0{\t}^^A
-% \ifdim\wd0>\linewidth
-%   \begingroup
-%     \advance\linewidth by\leftmargin
-%     \advance\linewidth by\rightmargin
-%   \edef\x{\endgroup
-%     \def\noexpand\lw{\the\linewidth}^^A
-%   }\x
-%   \def\lwbox{^^A
-%     \leavevmode
-%     \hbox to \linewidth{^^A
-%       \kern-\leftmargin\relax
-%       \hss
-%       \usebox0
-%       \hss
-%       \kern-\rightmargin\relax
-%     }^^A
-%   }^^A
-%   \ifdim\wd0>\lw
-%     \sbox0{\small\t}^^A
-%     \ifdim\wd0>\linewidth
-%       \ifdim\wd0>\lw
-%         \sbox0{\footnotesize\t}^^A
-%         \ifdim\wd0>\linewidth
-%           \ifdim\wd0>\lw
-%             \sbox0{\scriptsize\t}^^A
-%             \ifdim\wd0>\linewidth
-%               \ifdim\wd0>\lw
-%                 \sbox0{\tiny\t}^^A
-%                 \ifdim\wd0>\linewidth
-%                   \lwbox
-%                 \else
-%                   \usebox0
-%                 \fi
-%               \else
-%                 \lwbox
-%               \fi
-%             \else
-%               \usebox0
-%             \fi
-%           \else
-%             \lwbox
-%           \fi
-%         \else
-%           \usebox0
-%         \fi
-%       \else
-%         \lwbox
-%       \fi
-%     \else
-%       \usebox0
-%     \fi
-%   \else
-%     \lwbox
-%   \fi
-% \else
-%   \usebox0
-% \fi
-% \end{quote}
-% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
-% TDS installing feature, then some files can already be in the right
-% place, see the documentation of \docstrip.
-%
-% \subsection{Refresh file name databases}
-%
-% If your \TeX~distribution
-% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
-% these. For example, \TeX\,Live\ users run \verb|texhash| or
-% \verb|mktexlsr|.
-%
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-%   \verb|latex \let\install=y\input{bookmark.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
-% line into this file, if you want to have A4 as paper format:
-% \begin{quote}
-%   \verb|\PassOptionsToClass{a4paper}{article}|
-% \end{quote}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex bookmark.dtx
-%makeindex -s gind.ist bookmark.idx
-%pdflatex bookmark.dtx
-%makeindex -s gind.ist bookmark.idx
-%pdflatex bookmark.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{hyperref}
-%   Sebastian Rahtz, Heiko Oberdiek:
-%   \textit{The \xpackage{hyperref} package};
-%   2011/04/17 v6.82g;
-%   \CTANpkg{hyperref}
-%
-% \bibitem{currfile}
-%   Martin Scharrer:
-%   \textit{The \xpackage{currfile} package};
-%   2011/01/09 v0.4.
-%   \CTANpkg{currfile}
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2007/02/19 v0.1}
-%   \item
-%     First experimental version.
-%   \end{Version}
-%   \begin{Version}{2007/02/20 v0.2}
-%   \item
-%     Option \xoption{startatroot} added.
-%   \item
-%     Dummies for \cs{pdf(un)escape...} commands added to get
-%     the package basically work for non-\hologo{pdfTeX} users.
-%   \end{Version}
-%   \begin{Version}{2007/02/21 v0.3}
-%   \item
-%     Dependency from \hologo{pdfTeX} 1.30 removed by using package
-%     \xpackage{pdfescape}.
-%   \end{Version}
-%   \begin{Version}{2007/02/22 v0.4}
-%   \item
-%     \xpackage{hyperref}'s \xoption{bookmarkstype} respected.
-%   \end{Version}
-%   \begin{Version}{2007/03/02 v0.5}
-%   \item
-%     Driver options \xoption{vtex} (PDF mode), \xoption{dvipsone},
-%     and \xoption{textures} added.
-%   \item
-%     Implementation of option \xoption{depth} completed. Division names
-%     are supported, see \xpackage{hyperref}'s
-%     option \xoption{bookmarksdepth}.
-%   \item
-%     \xpackage{hyperref}'s options \xoption{bookmarksopen},
-%     \xoption{bookmarksopenlevel}, and \xoption{bookmarksdepth} respected.
-%   \end{Version}
-%   \begin{Version}{2007/03/03 v0.6}
-%   \item
-%     Option \xoption{numbered} as alias for \xpackage{hyperref}'s
-%     \xoption{bookmarksnumbered}.
-%   \end{Version}
-%   \begin{Version}{2007/03/07 v0.7}
-%   \item
-%     Dependency from \hologo{eTeX} removed.
-%   \end{Version}
-%   \begin{Version}{2007/04/09 v0.8}
-%   \item
-%     Option \xoption{atend} added.
-%   \item
-%     Option \xoption{rgbcolor} removed.
-%     \verb|rgbcolor=<r> <g> <b>| can be replaced by
-%     \verb|color=[rgb]{<r>,<g>,<b>}|.
-%   \item
-%     Support of recent cvs version (2007-03-29) of dvipdfmx
-%     that extends the \cs{special} for bookmarks to specify
-%     open outline entries. Option \xoption{dvipdfmx-outline-open}
-%     or \cs{SpecialDvipdfmxOutlineOpen} notify the package.
-%   \end{Version}
-%   \begin{Version}{2007/04/25 v0.9}
-%   \item
-%     The syntax of \cs{special} of dvipdfmx, if feature
-%     \xoption{dvipdfmx-outline-open} is enabled, has changed.
-%     Now cvs version 2007-04-25 is needed.
-%   \end{Version}
-%   \begin{Version}{2007/05/29 v1.0}
-%   \item
-%     Bug fix in code for second parameter of XYZ.
-%   \end{Version}
-%   \begin{Version}{2007/07/13 v1.1}
-%   \item
-%     Fix for pdfmark with GoToR action.
-%   \end{Version}
-%   \begin{Version}{2007/09/25 v1.2}
-%   \item
-%     pdfmark driver respects \cs{nofiles}.
-%   \end{Version}
-%   \begin{Version}{2008/08/08 v1.3}
-%   \item
-%     Package \xpackage{flags} replaced by package \xpackage{bitset}.
-%     Now flags are also supported without \hologo{eTeX}.
-%   \item
-%     Hook for package \xpackage{hypdestopt} added.
-%   \end{Version}
-%   \begin{Version}{2008/09/13 v1.4}
-%   \item
-%     Fix for bug introduced in v1.3, package \xpackage{flags} is one-based,
-%     but package \xpackage{bitset} is zero-based. Thus options \xoption{bold}
-%     and \xoption{italic} are wrong in v1.3. (Daniel M\"ullner)
-%   \end{Version}
-%   \begin{Version}{2009/08/13 v1.5}
-%   \item
-%     Except for driver options the other options are now local options.
-%     This resolves a problem with KOMA-Script v3.00 and its option \xoption{open}.
-%   \end{Version}
-%   \begin{Version}{2009/12/06 v1.6}
-%   \item
-%     Use of package \xpackage{atveryend} for drivers \xoption{pdftex}
-%     and \xoption{pdfmark}.
-%   \end{Version}
-%   \begin{Version}{2009/12/07 v1.7}
-%   \item
-%     Use of package \xpackage{atveryend} fixed.
-%   \end{Version}
-%   \begin{Version}{2009/12/17 v1.8}
-%   \item
-%     Support of \xpackage{hyperref} 2009/12/17 v6.79v for \hologo{XeTeX}.
-%   \end{Version}
-%   \begin{Version}{2010/03/30 v1.9}
-%   \item
-%     Package name in an error message fixed.
-%   \end{Version}
-%   \begin{Version}{2010/04/03 v1.10}
-%   \item
-%     Option \xoption{style} and macro \cs{bookmarkdefinestyle} added.
-%   \item
-%     Hook support with option \xoption{addtohook} added.
-%   \item
-%     \cs{bookmarkget} added.
-%   \end{Version}
-%   \begin{Version}{2010/04/04 v1.11}
-%   \item
-%     Bug fix (introduced in v1.10).
-%   \end{Version}
-%   \begin{Version}{2010/04/08 v1.12}
-%   \item
-%     Requires \xpackage{ltxcmds} 2010/04/08.
-%   \end{Version}
-%   \begin{Version}{2010/07/23 v1.13}
-%   \item
-%     Support for \xclass{memoir}'s \cs{booknumberline} added.
-%   \end{Version}
-%   \begin{Version}{2010/09/02 v1.14}
-%   \item
-%     (Local) options \xoption{draft} and \xoption{final} added.
-%   \end{Version}
-%   \begin{Version}{2010/09/25 v1.15}
-%   \item
-%     Fix for option \xoption{dvipdfmx-outline-open}.
-%   \item
-%     Option \xoption{dvipdfmx-outline-open} is set automatically,
-%     if XeTeX $\geq$ 0.9995 is detected.
-%   \end{Version}
-%   \begin{Version}{2010/10/19 v1.16}
-%   \item
-%     Option `startatroot' now acts globally.
-%   \item
-%     Option `level' also accepts names the same way as option `depth'.
-%   \end{Version}
-%   \begin{Version}{2010/10/25 v1.17}
-%   \item
-%     \cs{bookmarksetupnext} added.
-%   \item
-%     Using \cs{kvsetkeys} of package \xpackage{kvsetkeys}, because
-%     \cs{setkeys} of package \xpackage{keyval} is not reentrant.
-%     This can cause problems (unknown keys) with older versions of
-%     hyperref that also uses \cs{setkeys} (found by GL).
-%   \end{Version}
-%   \begin{Version}{2010/11/05 v1.18}
-%   \item
-%     Use of \cs{pdf at ifdraftmode} of package \xpackage{pdftexcmds} for
-%     the default of option \xoption{draft}.
-%   \end{Version}
-%   \begin{Version}{2011/03/20 v1.19}
-%   \item
-%     Use of \cs{dimexpr} fixed, if \hologo{eTeX} is not used.
-%     (Bug found by Martin M\"unch.)
-%   \item
-%     Fix in documentation. Also layout options work without \hologo{eTeX}.
-%   \end{Version}
-%   \begin{Version}{2011/04/13 v1.20}
-%   \item
-%     Bug fix: \cs{BKM at SetDepth} renamed to \cs{BKM at SetDepthOrLevel}.
-%   \end{Version}
-%   \begin{Version}{2011/04/21 v1.21}
-%   \item
-%     Some support for file name and line number in error messages
-%     at end of document (pdfTeX and pdfmark based drivers).
-%   \end{Version}
-%   \begin{Version}{2011/05/13 v1.22}
-%   \item
-%     Change of version 2010/11/05 v1.18 reverted, because otherwise
-%     draftmode disables some \xext{aux} file entries.
-%   \end{Version}
-%   \begin{Version}{2011/09/19 v1.23}
-%   \item
-%     Some \cs{renewcommand}s changed to \cs{def} to avoid trouble
-%     if the commands are not defined, because hyperref stopped early.
-%   \end{Version}
-%   \begin{Version}{2011/12/02 v1.24}
-%   \item
-%     Small optimization in \cs{BKM at toHexDigit}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.25}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-%   \begin{Version}{2016/05/17 v1.26}
-%   \item
-%     define \cs{pdfbookmark} to allow pdftex driver to be used with Lua\TeX.
-%   \end{Version}
-%   \begin{Version}{2019/06/04 v1.27}
-%   \item
-%     unknown style options are ignored (issue 67)
-%   \end{Version}
-
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,9 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/catchfile.sty
 %    TDS:doc/latex/oberdiek/catchfile.pdf
-%    TDS:doc/latex/oberdiek/test/catchfile-test1.tex
-%    TDS:doc/latex/oberdiek/test/catchfile-test2.tex
-%    TDS:doc/latex/oberdiek/test/catchfile-test3.tex
 %    TDS:source/latex/oberdiek/catchfile.dtx
 %
 %<*ignore>
@@ -143,10 +140,6 @@
 %  \file{catchfile-test1.tex}{\from{catchfile.dtx}{test1}}%
 %  \file{catchfile-test2.tex}{\from{catchfile.dtx}{test2}}%
 %  \file{catchfile-test3.tex}{\from{catchfile.dtx}{test3}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{catchfile.xml}{\from{catchfile.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -183,21 +176,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{catchfile.drv}
 %
@@ -591,307 +569,8 @@
 \CatchFile at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input catchfile.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{\LaTeX}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\listfiles
-\tracingnesting=2 %
-\documentclass{minimal}
-\usepackage{catchfile}[2016/05/16]
-\makeatletter
-\def\mysetup{%
-  \let\do\@makeother
-  \dospecials
-}
-\def\CheckContents{%
-  \begingroup
-    \expandafter\ifx\csname contents\endcsname\relax
-      \PackageError{TEST}{\string\contents\space is not defined}\@ehc
-    \fi
-  \endgroup
-}
-\def\StartDisableUnexpanded{%
-  \begingroup
-    \let\etex at unexpanded\@undefined
-}
-\def\StopDisableUnexpanded{%
-  \endgroup
-}
-\def\CheckCleanup{%
-  \begingroup
-    \edef\x{\the\toks0}%
-    \def\y{ABC}%
-    \ifx\x\y
-    \else
-      \PackageError{TEST}{\string\toks0 has changed}\@ehc
-    \fi
-    \ifx\CatchFile at gtemp\@undefined
-    \else
-      \PackageError{TEST}{Left over \string\CatchFile at gtemp}\@ehc
-    \fi
-  \endgroup
-}
-\def\Check{%
-  \CheckContents
-  \CheckCleanup
-}
-\makeatother
-\begin{document}
-\toks0{ABC}
-
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-
-\StartDisableUnexpanded
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\StopDisableUnexpanded
-
-\CatchFileEdef\contents{catchfile.sty}{%
-  \mysetup
-  \def\par{^^J}%
-  \obeylines
-}
-\typeout{\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileEdef\contents{catchfile.sty}{%
-  \catcode`\\=12 %
-  \catcode`\#=12 %
-  \def\par{^^J}%
-  \obeylines
-}
-\typeout{\contents}
-\Check
-\typeout{***********************************************************}%
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \subsection{\plainTeX}
-%
-%    \begin{macrocode}
-%<*test3>
-\def\msg#{\immediate\write16}
-\newlinechar=10 %
-\tracingnesting=2 %
-\input catchfile.sty\relax
-
-\def\mysetup{%
-  \def\do##1{%
-    \catcode`##1=12\relax
-  }%
-  \dospecials
-}
-\def\CheckContents{%
-  \begingroup
-    \expandafter\ifx\csname contents\endcsname\relax
-      \def\space{ }%
-      \errmessage{\string\contents\space is not defined.}%
-    \fi
-  \endgroup
-}
-\catcode`\@=11 %
-\def\CheckCleanup{%
-  \begingroup
-    \edef\x{\the\toks0}%
-    \def\y{ABC}%
-    \ifx\x\y
-    \else
-      \errmessage{\string\toks0 has changed}%
-    \fi
-    \ifx\CatchFile at gtemp\@undefined
-    \else
-      \errmessage{Left over \string\CatchFile at gtemp}%
-    \fi
-  \endgroup
-}
-\def\Check{%
-  \CheckContents
-  \CheckCleanup
-}
-\def\StartDisableUnexpanded{%
-  \begingroup
-    \let\etex at unexpanded\@undefined
-}
-\def\StopDisableUnexpanded{%
-  \endgroup
-}
-\catcode`\@=12 %
-
-\toks0{ABC}
-
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-
-\StartDisableUnexpanded
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\StopDisableUnexpanded
-
-\CatchFileEdef\contents{catchfile.sty}{%
-  \mysetup
-  \def\par{^^J}%
-  \obeylines
-}
-\msg{\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileEdef\contents{catchfile.sty}{%
-  \catcode`\\=12 %
-  \catcode`\#=12 %
-  \def\par{^^J}%
-  \obeylines
-}
-\msg{\contents}
-\Check
-\msg{***********************************************************}%
-
-\csname @@end\endcsname
-\end
-%</test3>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -939,9 +618,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   catchfile.sty & tex/generic/oberdiek/catchfile.sty\\
 %   catchfile.pdf & doc/latex/oberdiek/catchfile.pdf\\
-%   test/catchfile-test1.tex & doc/latex/oberdiek/test/catchfile-test1.tex\\
-%   test/catchfile-test2.tex & doc/latex/oberdiek/test/catchfile-test2.tex\\
-%   test/catchfile-test3.tex & doc/latex/oberdiek/test/catchfile-test3.tex\\
 %   catchfile.dtx & source/latex/oberdiek/catchfile.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/centernot.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/centernot.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/centernot.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{centernot.drv}{\from{centernot.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{centernot.sty}{\from{centernot.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{centernot.xml}{\from{centernot.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -181,21 +177,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{centernot.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/chemarr.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/chemarr.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/chemarr.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -131,10 +131,6 @@
   \file{chemarr.sty}{\from{chemarr.dtx}{package}}%
   \usedir{doc/latex/oberdiek}%
   \file{chemarr-example.tex}{\from{chemarr.dtx}{example}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{chemarr.xml}{\from{chemarr.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -172,21 +168,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{chemarr.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/classlist.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/classlist.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/classlist.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{classlist.drv}{\from{classlist.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{classlist.sty}{\from{classlist.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{classlist.xml}{\from{classlist.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{classlist.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/colonequals.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/colonequals.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/colonequals.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{colonequals.drv}{\from{colonequals.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{colonequals.sty}{\from{colonequals.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{colonequals.xml}{\from{colonequals.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -170,21 +166,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{colonequals.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{dvipscol.drv}{\from{dvipscol.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{dvipscol.sty}{\from{dvipscol.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{dvipscol.xml}{\from{dvipscol.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{dvipscol.drv}
 %

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,2141 +0,0 @@
-% \iffalse meta-comment
-%
-% File: embedfile.dtx
-% Version: 2018/11/01 v2.8
-% Info: Embed files into PDF
-%
-% Copyright (C)
-%    2006-2011 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file embedfile.dtx
-% and the derived files
-%    embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
-%    dtx-attach.sty, embedfile-example-plain.tex,
-%    embedfile-example-collection.tex, embedfile-test1.tex,
-%    embedfile-test2.tex, embedfile-test3.tex,
-%    embedfile-test4.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/embedfile.dtx
-%    CTAN:macros/latex/contrib/oberdiek/embedfile.pdf
-%
-% Unpacking:
-%    (a) If embedfile.ins is present:
-%           tex embedfile.ins
-%    (b) Without embedfile.ins:
-%           tex embedfile.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{embedfile.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If embedfile.drv is present:
-%           latex embedfile.drv
-%    (b) Without embedfile.drv:
-%           latex embedfile.dtx; ...
-%    The class ltxdoc loads the configuration file ltxdoc.cfg
-%    if available. Here you can specify further options, e.g.
-%    use A4 as paper format:
-%       \PassOptionsToClass{a4paper}{article}
-%
-%    Programm calls to get the documentation (example):
-%       pdflatex embedfile.dtx
-%       makeindex -s gind.ist embedfile.idx
-%       pdflatex embedfile.dtx
-%       makeindex -s gind.ist embedfile.idx
-%       pdflatex embedfile.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/embedfile.sty
-%    TDS:tex/generic/oberdiek/dtx-attach.sty
-%    TDS:doc/latex/oberdiek/embedfile.pdf
-%    TDS:doc/latex/oberdiek/embedfile-example-plain.tex
-%    TDS:doc/latex/oberdiek/embedfile-example-collection.tex
-%    TDS:doc/latex/oberdiek/test/embedfile-test1.tex
-%    TDS:doc/latex/oberdiek/test/embedfile-test2.tex
-%    TDS:doc/latex/oberdiek/test/embedfile-test3.tex
-%    TDS:doc/latex/oberdiek/test/embedfile-test4.tex
-%    TDS:source/latex/oberdiek/embedfile.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: embedfile 2018/11/01 v2.8 Embed files into PDF (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: embedfile
-Version: 2018/11/01 v2.8
-
-Copyright (C)
-   2006-2011 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file embedfile.dtx
-and the derived files
-   embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
-   dtx-attach.sty, embedfile-example-plain.tex,
-   embedfile-example-collection.tex, embedfile-test1.tex,
-   embedfile-test2.tex, embedfile-test3.tex,
-   embedfile-test4.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{embedfile.ins}{\from{embedfile.dtx}{install}}%
-  \file{embedfile.drv}{\from{embedfile.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{embedfile.sty}{\from{embedfile.dtx}{package}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{dtx-attach.sty}{\from{embedfile.dtx}{dtxattach}}%
-  \usedir{doc/latex/oberdiek}%
-  \file{embedfile-example-plain.tex}{\from{embedfile.dtx}{exampleplain}}%
-  \file{embedfile-example-collection.tex}{\from{embedfile.dtx}{examplecollection}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{embedfile-test1.tex}{\from{embedfile.dtx}{test1}}%
-%  \file{embedfile-test2.tex}{\from{embedfile.dtx}{test2}}%
-%  \file{embedfile-test3.tex}{\from{embedfile.dtx}{test3}}%
-%  \file{embedfile-test4.tex}{\from{embedfile.dtx}{test4}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{embedfile.xml}{\from{embedfile.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     embedfile.sty, dtx-attach.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `embedfile.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{embedfile.drv}%
-  [2018/11/01 v2.8 Embed files into PDF (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{embedfile.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
-%
-% \GetFileInfo{embedfile.drv}
-%
-% \title{The \xpackage{embedfile} package}
-% \date{2018/11/01 v2.8}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package embeds files to a PDF document.
-% Currently the only supported driver is \pdfTeX\ $>=$ 1.30 in PDF mode.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-%    The PDF format (\cite{pdfspec}) allows the inclusion of files
-%    inside the PDF document. The included files can be bound to an
-%    annotation on a page. Or they can be recorded in a sorted
-%    list of embedded files. The packages \xpackage{attachfile}
-%    or \xpackage{attachfile2} follow the first approach, this
-%    package uses the latter method.
-%
-% \subsubsection{Future development}
-%
-%    My dream is a large package that merges the features of
-%    all these packages meantioned before:
-%    \begin{itemize}
-%    \item Files can be attached to a page.
-%    \item Files can be attached to the document.
-%    \item An easy user interface for simple, common tasks and
-%          beginners.
-%    \item An interface for the advanced users that want to setup
-%          every detail.
-%    \item Support of many drivers (pdftex, dvips, dvipdfm, \dots).
-%    \item \dots
-%    \end{itemize}
-%    However, I have not managed to take the time for this project.
-%    Instead:
-%    \begin{itemize}
-%    \item First I experimented with package \xpackage{attachfile},
-%          adding driver support, fixing bugs, \dots. The result is
-%          currently named as \xpackage{attachfile2}. It uses an external
-%          script to get file properties (size, date, checksum, \dots).
-%    \item In order to avoid an external program for getting basic
-%          file properties I provided a patch ``EscapeAndOther'' for
-%          pdfTeX that was accepted for version 1.30.
-%    \item This package closes a gap left by the packages for attaching
-%          files and allows the embedding of files to the document.
-%          Also it makes use of the new primitives of \pdfTeX.
-%    \end{itemize}
-%
-% \subsection{User interface}
-%
-%    This package \xpackage{embedfile} can be used with both
-%    \LaTeX\ and \plainTeX. See \autoref{sec:plain} that
-%    explains the use with \plainTeX\ by an example.
-%    In \LaTeX\ the package is loaded as usually. There are no options.
-%    \begin{quote}
-%      \verb|\usepackage{embedfile}|
-%    \end{quote}
-%
-%    \begin{declcs}{embedfile}
-%      |[|\meta{options}|]| \M{file}
-%    \end{declcs}
-%    The macro \cs{embedfile} includes file \meta{file} and
-%    attaches it to the PDF document. At the end of the document
-%    the sorted list of embedded files are written. Thus you can
-%    safely use \cs{embedfile} before \verb|\end{document}|.
-%    Embedding files using \cs{AtEndDocument} will only work,
-%    if \cs{AtEndDocument} is called before loading the package
-%    \xpackage{embedfile}.
-%
-%    The \meta{options} are give as key value pairs. The following
-%    keys are supported:
-%    \begin{description}
-%    \item[\xoption{filespec}]
-%      This allows to override the file name
-%      that appears in the PDF file. If you are using other than
-%      simple file names (8-bit, path separators, \dots), look into
-%      the PDF specification (\cite{pdfspec}).
-%      There are rules how these file names must be written/encoded.
-%      Avoid 8-bit characters
-%      and other special characters, the behaviour is currently undefined.
-%      Use option \xoption{ucfilespec} for more funny file names.
-%      The string method, see below, is |escape| since version 2.4.
-%
-%      This name is also used as entry in a name tree
-%      (see PDF specification: |/EmbeddedFiles|). Therefore the
-%      value for \xoption{filespec} must be unique among all
-%      embedded files. Also key \xoption{initialfiles} refers
-%      to this name, if the file name and the value of \xoption{filespec}
-%      are different.
-%    \item[\xoption{ucfilespec}]
-%      Since PDF 1.7 the file name may be provided in Unicode.
-%      The conversion of the option value into a PDF string
-%      is controlled by option \xoption{stringmethod}.
-%    \item[\xoption{filesystem}]
-%      This sets the entry \verb|/FS| in
-%      the file specification dictionary, see PDF specification
-%      (\cite{pdfspec}).
-%      Example: \verb|filesystem=URL|.
-%    \item[\xoption{mimetype}]
-%      This sets the mime type (\cite{mime}) of the file,
-%      see \autoref{sec:plain} for examples and \cite{types}
-%      for a list of officially registered types.
-%    \item[\xoption{desc}]
-%      The description for the file.
-%    \item[\xoption{stringmethod}]
-%      The package must convert the values of the keys \xoption{ucfilespec}
-%      and \xoption{desc} into a PDF string (before version 2.4: \xoption{filespec}
-%      and \xoption{desc}). If \xpackage{hyperref}
-%      is found, then its \cs{pdfstringdef} will be used, otherwise
-%      \pdfTeX's \cs{pdfescapestring} is used. Value \verb|psd|
-%      forces the use of \cs{pdfstringdef}, value \verb|escape|
-%      the use of \cs{pdfescapestring}.
-%    \item[\xoption{\meta{key}.value}] Sets the value of a collection
-%      item property, see section \ref{sec:collection}.
-%    \item[\xoption{\meta{key}.prefix}]
-%      Sets the prefix of a collection item property,
-%      see section \ref{sec:collection}.
-%    \item[\xoption{id}]
-%      The value must be an unique name. Macros
-%      \cs{embedfileifobjectexists} and \cs{embedfilegetobject}
-%      are using this name later.
-%    \end{description}
-%
-%    \begin{declcs}{embedfilefinish}
-%    \end{declcs}
-%    The list of all embedded files must be added as data structure
-%    in the PDF file. In case of \LaTeX\ this is automatically done.
-%    The package uses \cs{AtEndDocument}. Then the list of all
-%    files should be known. However, \plainTeX\ does not know
-%    about \cs{AtEndDocument}. Thus the user must call
-%    \cs{embedfilefinish} at the end of the document
-%    after the last file is embedded.
-%
-%    \begin{declcs}{embedfilesetup} \M{options}
-%    \end{declcs}
-%    Options for \cs{embedfile} and collection support
-%    can be set in \cs{embedfilesetup}.
-%
-% \subsection{Collection support (PDF 1.7)}
-% \label{sec:collection}
-%
-%    Since PDF 1.7 the embedded files can form a \emph{collection}
-%    (sometimes referred as \emph{package}), the main document
-%    is called \emph{cover sheet}. See PDF specification
-%    8.2.4 ``Collections'' and 3.10.5 ``Collection items'' \cite{pdfspec}.
-%
-%    Usually Acrobat Reader 7 or 8 shows the
-%    embedded files in a table at the bottom with the following columns:
-%    \begin{quote}
-%    \begin{tabular}{@{}l|l|l|l@{}}
-%       Name & Description & Modified & Size\\
-%       \hline
-%       \dots & \dots & \dots & \dots\\
-%    \end{tabular}
-%    \end{quote}
-%    Acrobat Reader 10 shows the embeded files in the left panel
-%    and adds a new column for the compressed size.
-%
-%    If the files form a collection, then they are displayed
-%    in a table left or top (depending on option \xoption{view},
-%    see \cs{embedfilesetup}).
-%
-%
-%    Collection support is enabled automatically, if
-%    it is used.
-%
-%    \begin{declcs}{embedfilesetup} \M{options}
-%    \end{declcs}
-%    The following options are supported in addition
-%    to options for \cs{embedfile}:
-%    \begin{description}
-%    \item[\xoption{view}]
-%      If the PDF file contains a collection, then Acrobat Reader 8
-%      shows a line at the top below the menu bar and the toolbar.
-%      It shows the current selected file, icons for changing the
-%      view mode, an options menu.
-%      The initial mode how the collection is presented is
-%      set by this option \xoption{view}.
-%      The following modes/values are supported, the default is |details|:
-%        \begin{description}
-%        \item[\texttt{details}] The full collection table is displayed
-%          at the top below the collection bar.
-%        \item[\texttt{tile}] The files of the collection are shown
-%          in tile mode on the left.
-%        \item[\texttt{hidden}] The collection table is not shown.
-%        \end{description}
-%    \item[\xoption{initialfile}]
-%      Selects the file that is initially presented. Especially
-%      useful for an embedded PDF file that is then shown instead
-%      of the cover document. There must be an \cs{embedfile} command
-%      somewhere whose value for key \xoption{filespec} is used here.
-%      The \cs{embedfile} command can drop option \xoption{filespec}
-%      if the file name is not different.
-%    \end{description}
-%
-%    \begin{declcs}{embedfilefield} \M{key} \M{options}
-%    \end{declcs}
-%    Macro \cs{embedfilefield} defines a column/field in the collection table.
-%    The name of the field is \meta{key}.
-%    \begin{description}
-%    \item[\xoption{type}]
-%      sets the type of the field. The supported values are:
-%      \begin{description}
-%      \item[\texttt{text}] A text field. Its value is set in
-%        \cs{embedfile} by option \xoption{\meta{key}.value}.
-%      \item[\texttt{date}] A date field. Its value is set in
-%        \cs{embedfile} by option \xoption{\meta{key}.value}.
-%        A special format is required, see ``3.8.3 Dates'' \cite{pdfspec}.
-%      \item[\texttt{number}] A field with an integer or float number.
-%        Its value is set in \cs{embedfile} by option
-%        \xoption{\meta{key}.value}.
-%      \item[\texttt{file}] The file name of the embedded file.
-%      \item[\texttt{desc}] The description text of the embedded file. It is
-%       set in \cs{embedfile} by option \xoption{desc}.
-%      \item[\texttt{moddate}] The modification date of the embedded file.
-%      \item[\texttt{size}] The size of the embedded file.
-%      \end{description}
-%      All types allow the use of a prefix that is disregarded by
-%      sorting. The prefix for this field is set in \cs{embedfile} by
-%      option \xoption{\meta{key}.prefix}.
-%    \item[\xoption{title}] sets the column title.
-%    \item[\xoption{visible}] controls whether the column is presented:
-%      \begin{description}
-%      \item[\texttt{true}] shows the column.
-%      \item[\texttt{false}] hides the column.
-%      \end{description}
-%      Default: \texttt{true}
-%    \item[\xoption{edit}]
-%      Allows the editing of field values. Does not seem to have an
-%      effect for Acrobat Reader.
-%      \begin{description}
-%      \item[\texttt{true}] enables the feature, if available (depends
-%        on the PDF viewer).
-%      \item[\texttt{false}] disables the feature.
-%      \end{description}
-%      Default: \texttt{false}
-%    \end{description}
-%    The order of \cs{embedfilefield} statements defines the order
-%    of the columns.
-%
-%    \begin{declcs}{embedfilesort} \M{key-sort-list}
-%    \end{declcs}
-%    The sort order of the embedded files are controlled by
-%    macro \cs{embedfilesort}. \meta{key-sort-list} defines
-%    the sort order. The key is a field name defined by \cs{embedfilefield}.
-%    Its value is either \texttt{ascending} or \texttt{descending}.
-%    The default is \texttt{ascending}.
-%
-% \subsection{Export of object references}
-%
-%    Caution: This feature is still experimental. It may be even removed
-%    in future versions. Therefore feedback would be nice, if someone
-%    has a useful application for this feature.
-%
-%    Object numbers are saved, if \xoption{id} is given in \cs{embedfile}.
-%    The following objects are supported:
-%    \begin{itemize}
-%    \item \texttt{EmbeddedFile}
-%    \item \texttt{Filespec}
-%    \end{itemize}
-%
-%    \begin{declcs}{embedfileifobjectexists} \M{id} \M{type}
-%      \M{then} \M{else}
-%    \end{declcs}
-%    Macro \cs{embedfileifobjectexists} tests whether object of \meta{type}
-%    is available for the embedded file identified by \meta{id}.
-%
-%    \begin{declcs}{embedfilegetobject} \M{id} \M{type}
-%    \end{declcs}
-%    Macro \cs{embedfilegetobject} expands to the full object reference
-%    object of \meta{type} for the embedded file identified by \meta{id}.
-%
-% \subsubsection{Example}
-%
-%\begin{quote}
-%\begin{verbatim}
-%\embedfile[id={foo}]{foo.pdf}
-%\embedfileifobjectexists{foo}{Filespec}{%
-%  \typeout{%
-%    FileSpec object for `foo': %
-%    \embedfilegetobject{foo}{Filespec}%
-%  }%
-%}{%
-%  \typeout{No Filespec object for `foo'}%
-%}
-%\end{verbatim}
-%\end{quote}
-%
-% \subsection{Examples}
-% \label{sec:examples}
-%
-% \subsubsection{\plainTeX}
-% \label{sec:plain}
-%
-%    The package can be used with \plainTeX. It can be used
-%    with or without help from \xfile{miniltx.tex}.
-%
-%    If additionally package \xpackage{keyval} (\xpackage{graphicx})
-%    is needed, load it first. Then package \xpackage{embedfile} avoids
-%    a duplicate loading of package \xpackage{keyval}.
-%
-%    Because \plainTeX\ does not provide a hook at end of the document,
-%    you have to call \cs{embedfilefinish} manually at the end
-%    after the last embedded file.
-%    \begin{macrocode}
-%<*exampleplain>
-%<<END
-% Load packages
-\input miniltx
-% \def\Gin at driver{pdftex.def}
-% \input graphicx.sty
-\input embedfile.sty
-\resetatcatcode
-
-% default setting
-\embedfilesetup{
-  mimetype=text/plain
-}
-
-% Embed files
-\embedfile[
-  filespec=example.tex,
-  desc={Source code (plain-TeX) of this example}
-]{embedfile-example-plain.tex}
-
-\embedfile[
-  desc={Source of package `embedfile'}
-]{embedfile.dtx}
-
-\embedfile[
-  mimetype=application/pdf,
-  desc={Documentation of package `embedfile'}
-]{embedfile.pdf}
-
-% Some text
-This example document contains three embedded files.
-
-% End of document
-\embedfilefinish % don't forget
-\bye
-%END
-%</exampleplain>
-%    \end{macrocode}
-%
-% \subsubsection{Collection example}
-%
-%    \begin{macrocode}
-%<*examplecollection>
-%<<END
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage[bookmarks=false]{hyperref}
-% provides \pdfstringdef that is then used by `title' and
-% other keys.
-\usepackage{embedfile}[2018/11/01]
-\embedfilesetup{
-  view=details,
-  initialfile=embedfile.pdf
-}
-\embedfilefield{file}{
-  type=file,
-  title={File name}
-}
-\embedfilefield{description}{
-  type=desc,
-  title={Description}
-}
-\embedfilefield{date}{
-  type=moddate,
-  title={Date}
-}
-\embedfilefield{size}{
-  type=size,
-  title={Size}
-}
-\embedfilefield{type}{
-  type=text,
-  title={Type},
-  visible=false
-}
-\embedfilesort{
-  type,
-  date=descending
-}
-\begin{document}
-An example for embedded files as collection.
-You need Acrobat Reader 8 or higher.
-
-\embedfile[
-  desc={Source file of package `embedfile'},
-  description.prefix={Package: },
-  type.value={DTX}
-]{embedfile.dtx}
-
-\embedfile[
-  desc={Documentation of package `embedfile'},
-  description.prefix={Package: },
-  type.value={PDF}
-]{embedfile.pdf}
-
-\embedfile[
-  desc={The source for this example},
-  description.prefix={Example: },
-  type.value={TEX}
-]{\jobname.tex}
-
-\end{document}
-%END
-%</examplecollection>
-%    \end{macrocode}
-%
-% \subsection{Package \xpackage{dtx-attach}}
-%
-% Package \xpackage{dtx-attach} is just a small application of
-% package \xpackage{embedfile}. I am using it for the CTAN
-% documentation of my packages in \CTANpkg{oberdiek}.
-% It also serves as small example for the use of the package with \LaTeX.
-%
-%    \begin{macrocode}
-%<*dtxattach>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{dtx-attach}
-  [2018/11/01 v2.8 Embed \string\jobname.dtx (HO)]%
-\RequirePackage{embedfile}[2018/11/01]
-\embedfile[%
-  stringmethod=escape,%
-  mimetype=plain/text,%
-  desc={LaTeX docstrip source archive for package `\jobname'}%
-]{\jobname.dtx}
-%</dtxattach>
-%    \end{macrocode}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsection{Reload check and package identification}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at embedfile.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{embedfile}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at embedfile.sty\endcsname
-\ProvidesPackage{embedfile}%
-  [2018/11/01 v2.8 Embed files into PDF (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Catcodes}
-%
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname EmFi at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\EmFi at AtEnd{%
-    \EmFi at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\EmFi at AtEnd{\EmFi at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Tools}
-%
-%    \begin{macro}{\EmFi at RequirePackage}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\EmFi at RequirePackage#1[#2]{%
-    \input #1.sty\relax
-  }%
-\else
-  \let\EmFi at RequirePackage\RequirePackage
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\EmFi at Error}
-%    \begin{macrocode}
-\EmFi at RequirePackage{infwarerr}[2007/09/09]%
-\def\EmFi at Error{%
-  \@PackageError{embedfile}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% Luatex compat
-%    \begin{macrocode}
-\ifx\pdfextension\@undefined\else
-    \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
-    \protected\def\pdfnames   {\pdfextension names }
-    \protected\def\pdfobj     {\pdfextension obj }
-    \let\pdfoutput            \outputmode
-\fi
-%    \end{macrocode}
-%
-% \subsection{Check for recent \pdfTeX\ in PDF mode}
-%
-%    Load package \xpackage{ifpdf} and check mode.
-%    \begin{macrocode}
-\EmFi at RequirePackage{ifpdf}[2007/09/09]
-\ifpdf
-\else
-  \EmFi at Error{%
-    Missing pdfTeX in PDF mode%
-  }{%
-    Currently other drivers are not supported. %
-    Package loading is aborted.%
-  }%
-  \expandafter\EmFi at AtEnd
-\fi%
-%    \end{macrocode}
-%    \begin{macrocode}
-\EmFi at RequirePackage{pdftexcmds}[2007/11/11]
-\EmFi at RequirePackage{ltxcmds}[2010/03/01]
-\EmFi at RequirePackage{kvsetkeys}[2010/03/01]
-\EmFi at RequirePackage{kvdefinekeys}[2010/03/01]
-%    \end{macrocode}
-%    Check version.
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdf at filesize\endcsname\relax
-  \EmFi at Error{%
-    Unsupported pdfTeX version%
-  }{%
-    At least version 1.30 is necessary. Package loading is aborted.%
-  }%
-  \expandafter\EmFi at AtEnd
-\fi%
-%    \end{macrocode}
-%
-% \subsection{Strings}
-%
-%    Minimal version of package \xpackage{pdfescape} is 2007/08/27 v1.5
-%    because of \cs{EdefSanitize}.
-%    \begin{macrocode}
-\EmFi at RequirePackage{pdfescape}[2007/11/11]
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\def\EmFi at temp#1{%
-  \expandafter\EdefSanitize\csname EmFi at S@#1\endcsname{#1}%
-}
-%    \end{macrocode}
-%    \begin{macro}{\EmFi at details}
-%    \begin{macrocode}
-\EmFi at temp{details}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at tile}
-%    \begin{macrocode}
-\EmFi at temp{tile}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at hidden}
-%    \begin{macrocode}
-\EmFi at temp{hidden}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@text}
-%    \begin{macrocode}
-\EmFi at temp{text}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@date}
-%    \begin{macrocode}
-\EmFi at temp{date}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@number}
-%    \begin{macrocode}
-\EmFi at temp{number}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@file}
-%    \begin{macrocode}
-\EmFi at temp{file}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@desc}
-%    \begin{macrocode}
-\EmFi at temp{desc}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@moddate}
-%    \begin{macrocode}
-\EmFi at temp{moddate}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@creationdate}
-%    \begin{macrocode}
-\EmFi at temp{creationdate}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@size}
-%    \begin{macrocode}
-\EmFi at temp{size}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@ascending}
-%    \begin{macrocode}
-\EmFi at temp{ascending}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@descending}
-%    \begin{macrocode}
-\EmFi at temp{descending}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@true}
-%    \begin{macrocode}
-\EmFi at temp{true}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at S@false}
-%    \begin{macrocode}
-\EmFi at temp{false}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Switches}
-%
-%    \begin{macro}{\ifEmFi at collection}
-%    \begin{macrocode}
-\ltx at newif\ifEmFi at collection
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifEmFi at sort}
-%    \begin{macrocode}
-\ltx at newif\ifEmFi at sort
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifEmFi at visible}
-%    \begin{macrocode}
-\ltx at newif\ifEmFi at visible
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifEmFi at edit}
-%    \begin{macrocode}
-\ltx at newif\ifEmFi at edit
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifEmFi at item}
-%    \begin{macrocode}
-\ltx at newif\ifEmFi at item
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifEmFi at finished}
-%    \begin{macrocode}
-\ltx at newif\ifEmFi at finished
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifEmFi at id}
-%    \begin{macrocode}
-\ltx at newif\ifEmFi at id
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Key value definitions}
-%
-%    \begin{macro}{\EmFi at GlobalKey}
-%    \begin{macrocode}
-\def\EmFi at GlobalKey#1#2{%
-  \global\expandafter\let\csname KV@#1@#2\expandafter\endcsname
-                         \csname KV@#1@#2\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at GlobalDefaultKey}
-%    \begin{macrocode}
-\def\EmFi at GlobalDefaultKey#1#2{%
-  \EmFi at GlobalKey{#1}{#2}%
-  \global\expandafter\let
-      \csname KV@#1@#2 at default\expandafter\endcsname
-      \csname KV@#1@#2 at default\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\EmFi at DefineKey}
-%    \begin{macrocode}
-\def\EmFi at DefineKey#1#2{%
-  \kv at define@key{EmFi}{#1}{%
-    \expandafter\def\csname EmFi@#1\endcsname{##1}%
-  }%
-  \expandafter\def\csname EmFi@#1\endcsname{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    Subtype of the embedded file (optional).
-%    \begin{macrocode}
-\EmFi at DefineKey{mimetype}{}
-%    \end{macrocode}
-%    File specification string.
-%    \begin{macrocode}
-\EmFi at DefineKey{filespec}{\EmFi at file}
-%    \end{macrocode}
-%    File specification string in Unicode.
-%    \begin{macrocode}
-\EmFi at DefineKey{ucfilespec}{}
-%    \end{macrocode}
-%    File system (optional).
-%    \begin{macrocode}
-\EmFi at DefineKey{filesystem}{}
-%    \end{macrocode}
-%    Description (optional).
-%    \begin{macrocode}
-\EmFi at DefineKey{desc}{}
-%    \end{macrocode}
-%    Method for converting text to PDF strings.
-%    \begin{macrocode}
-\EmFi at DefineKey{stringmethod}{%
-  \ifx\pdfstringdef\@undefined
-    escape%
-  \else
-    \ifx\pdfstringdef\relax
-      escape%
-    \else
-      psd%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%
-%    Option \xoption{id} as key for object numbers.
-%    \begin{macrocode}
-\kv at define@key{EmFi}{id}{%
-  \def\EmFi at id{#1}%
-  \EmFi at idtrue
-}
-%    \end{macrocode}
-%    \begin{macro}{\EmFi at defobj}
-%    \begin{macrocode}
-\def\EmFi at defobj#1{%
-  \ifEmFi at id
-    \expandafter\xdef\csname EmFi@#1@\EmFi at id\endcsname{%
-      \the\pdflastobj\ltx at space 0 R%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\embedfileifobjectexists}
-%    \begin{macrocode}
-\def\embedfileifobjectexists#1#2{%
-  \expandafter\ifx\csname EmFi@#2@#1\endcsname\relax
-    \expandafter\ltx at secondoftwo
-  \else
-    \expandafter\ltx at firstoftwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\embedfilegetobject}
-%    \begin{macrocode}
-\def\embedfilegetobject#1#2{%
-  \embedfileifobjectexists{#1}{#2}{%
-    \csname EmFi@#2@#1\endcsname
-  }{%
-    0 0 R%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    Initial view of the collection.
-%    \begin{macrocode}
-\kv at define@key{EmFi}{view}[]{%
-  \EdefSanitize\EmFi at temp{#1}%
-  \def\EmFi at next{%
-    \global\EmFi at collectiontrue
-  }%
-  \ifx\EmFi at temp\ltx at empty
-    \let\EmFi at view\EmFi at S@details
-  \else\ifx\EmFi at temp\EmFi at S@details
-    \let\EmFi at view\EmFi at S@details
-  \else\ifx\EmFi at temp\EmFi at S@tile
-    \let\EmFi at view\EmFi at S@tile
-  \else\ifx\EmFi at temp\EmFi at S@hidden
-    \let\EmFi at view\EmFi at S@hidden
-  \else
-    \let\EmFi at next\relax
-    \EmFi at Error{%
-      Unknown value `\EmFi at temp' for key `view'.\MessageBreak
-      Supported values: `details', `tile', `hidden'.%
-    }\@ehc
-  \fi\fi\fi\fi
-  \EmFi at next
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\EmFi at DefineKey{initialfile}{}
-%    \end{macrocode}
-%
-%    \begin{macro}{\embedfilesetup}
-%    \begin{macrocode}
-\def\embedfilesetup{%
-  \ifEmFi at finished
-    \def\EmFi at next##1{}%
-    \EmFi at Error{%
-      \string\embedfilefield\ltx at space after \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \def\EmFi at next{%
-      \kvsetkeys{EmFi}%
-    }%
-  \fi
-  \EmFi at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\EmFi at schema}
-%    \begin{macrocode}
-\def\EmFi at schema{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at order}
-%    \begin{macrocode}
-\gdef\EmFi at order{0}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi@@order}
-%    \begin{macrocode}
-\let\EmFi@@order\relax
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at fieldlist}
-%    \begin{macrocode}
-\def\EmFi at fieldlist{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at sortcase}
-%    \begin{macrocode}
-\def\EmFi at sortcase{0}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\embedfilefield}
-%    \begin{macrocode}
-\def\embedfilefield#1#2{%
-  \ifEmFi at finished
-    \EmFi at Error{%
-      \string\embedfilefield\ltx at space after \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \global\EmFi at collectiontrue
-    \EdefSanitize\EmFi at key{#1}%
-    \expandafter\ifx\csname KV at EmFi@\EmFi at key.prefix\endcsname\relax
-      \begingroup
-        \count@=\EmFi at order
-        \advance\count@ 1 %
-        \xdef\EmFi at order{\the\count@}%
-        \let\EmFi at title\EmFi at key
-        \let\EmFi at type\EmFi at S@text
-        \EmFi at visibletrue
-        \EmFi at editfalse
-        \kvsetkeys{EmFiFi}{#2}%
-        \EmFi at convert\EmFi at title\EmFi at title
-        \xdef\EmFi at schema{%
-          \EmFi at schema
-          /\pdf at escapename{\EmFi at key}<<%
-            /Subtype/%
-            \ifx\EmFi at type\EmFi at S@date D%
-            \else\ifx\EmFi at type\EmFi at S@number N%
-            \else\ifx\EmFi at type\EmFi at S@file F%
-            \else\ifx\EmFi at type\EmFi at S@desc Desc%
-            \else\ifx\EmFi at type\EmFi at S@moddate ModDate%
-            \else\ifx\EmFi at type\EmFi at S@creationdate CreationDate%
-            \else\ifx\EmFi at type\EmFi at S@size Size%
-            \else S%
-            \fi\fi\fi\fi\fi\fi\fi
-            /N(\EmFi at title)%
-            \EmFi@@order{\EmFi at order}%
-            \ifEmFi at visible
-            \else
-              /V false%
-            \fi
-            \ifEmFi at edit
-              /E true%
-            \fi
-          >>%
-        }%
-        \let\do\relax
-        \xdef\EmFi at fieldlist{%
-          \EmFi at fieldlist
-          \do{\EmFi at key}%
-        }%
-        \ifx\EmFi at type\EmFi at S@text
-          \kv at define@key{EmFi}{\EmFi at key.value}{%
-            \EmFi at itemtrue
-            \def\EmFi at temp{##1}%
-            \EmFi at convert\EmFi at temp\EmFi at temp
-            \expandafter\def\csname EmFi at V@#1%
-            \expandafter\endcsname\expandafter{%
-              \expandafter(\EmFi at temp)%
-            }%
-          }%
-          \EmFi at GlobalKey{EmFi}{\EmFi at key.value}%
-        \else\ifx\EmFi at type\EmFi at S@date
-          \kv at define@key{EmFi}{\EmFi at key.value}{%
-            \EmFi at itemtrue
-            \def\EmFi at temp{##1}%
-            \EmFi at convert\EmFi at temp\EmFi at temp
-            \expandafter\def\csname EmFi at V@#1%
-            \expandafter\endcsname\expandafter{%
-              \expandafter(\EmFi at temp)%
-            }%
-          }%
-          \EmFi at GlobalKey{EmFi}{\EmFi at key.value}%
-        \else\ifx\EmFi at type\EmFi at S@number
-          \kv at define@key{EmFi}{\EmFi at key.value}{%
-            \EmFi at itemtrue
-            \expandafter\EdefSanitize\csname EmFi at V@#1\endcsname{ ##1}%
-          }%
-          \EmFi at GlobalKey{EmFi}{\EmFi at key.value}%
-        \fi\fi\fi
-        \kv at define@key{EmFi}{\EmFi at key.prefix}{%
-          \EmFi at itemtrue
-          \expandafter\def\csname EmFi at P@#1\endcsname{##1}%
-        }%
-        \EmFi at GlobalKey{EmFi}{\EmFi at key.prefix}%
-        \kv at define@key{EmFiSo}{\EmFi at key}[ascending]{%
-          \EdefSanitize\EmFi at temp{##1}%
-          \ifx\EmFi at temp\EmFi at S@ascending
-            \def\EmFi at temp{true}%
-          \else\ifx\EmFi at temp\EmFi at S@descending
-            \def\EmFi at temp{false}%
-          \else
-            \def\EmFi at temp{}%
-            \EmFi at Error{%
-              Unknown sort order `\EmFi at temp'.\MessageBreak
-              Supported values: `\EmFi at S@ascending', %
-              `\EmFi at S@descending
-            }\@ehc
-          \fi\fi
-          \ifx\EmFi at temp\ltx at empty
-          \else
-            \xdef\EmFi at sortkeys{%
-              \EmFi at sortkeys
-              /\pdf at escapename{#1}%
-            }%
-            \ifx\EmFi at sortorders\ltx at empty
-              \global\let\EmFi at sortorders\EmFi at temp
-              \gdef\EmFi at sortcase{1}%
-            \else
-              \xdef\EmFi at sortorders{%
-                \EmFi at sortorders
-                \ltx at space
-                \EmFi at temp
-              }%
-              \xdef\EmFi at sortcase{2}%
-            \fi
-          \fi
-        }%
-        \EmFi at GlobalDefaultKey{EmFiSo}\EmFi at key
-      \endgroup
-    \else
-      \EmFi at Error{%
-        Field `\EmFi at key' is already defined%
-      }\@ehc
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\kv at define@key{EmFiFi}{type}{%
-  \EdefSanitize\EmFi at temp{#1}%
-  \ifx\EmFi at temp\EmFi at S@text
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@date
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@number
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@file
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@desc
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@moddate
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@creationdate
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@size
-    \let\EmFi at type\EmFi at temp
-  \else
-    \EmFi at Error{%
-      Unknown type `\EmFi at temp'.\MessageBreak
-      Supported types: `text', `date', `number', `file',\MessageBreak
-      `desc', `moddate', `creationdate', `size'%
-    }%
-  \fi\fi\fi\fi\fi\fi\fi\fi
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\kv at define@key{EmFiFi}{title}{%
-  \def\EmFi at title{#1}%
-}
-%    \end{macrocode}
-%    \begin{macro}{\EmFi at setboolean}
-%    \begin{macrocode}
-\def\EmFi at setboolean#1#2{%
-  \EdefSanitize\EmFi at temp{#2}%
-  \ifx\EmFi at temp\EmFi at S@true
-    \csname EmFi@#1true\endcsname
-  \else
-    \ifx\EmFi at temp\EmFi at S@false
-      \csname EmFi@#1false\endcsname
-    \else
-      \EmFi at Error{%
-        Unknown value `\EmFi at temp' for key `#1'.\MessageBreak
-        Supported values: `true', `false'%
-      }\@ehc
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\kv at define@key{EmFiFi}{visible}[true]{%
-  \EmFi at setboolean{visible}{#1}%
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\kv at define@key{EmFiFi}{edit}[true]{%
-  \EmFi at setboolean{edit}{#1}%
-}
-%    \end{macrocode}
-%
-%    \begin{macro}{\EmFi at sortkeys}
-%    \begin{macrocode}
-\def\EmFi at sortkeys{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at sortorders}
-%    \begin{macrocode}
-\def\EmFi at sortorders{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\embedfilesort}
-%    \begin{macrocode}
-\def\embedfilesort{%
-  \kvsetkeys{EmFiSo}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Embed the file}
-%
-%    \begin{macro}{\embedfile}
-%    \begin{macrocode}
-\def\embedfile{%
-  \ltx at ifnextchar[\EmFi at embedfile{\EmFi at embedfile[]}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at embedfile}
-%    \begin{macrocode}
-\def\EmFi at embedfile[#1]#2{%
-  \ifEmFi at finished
-    \EmFi at Error{%
-      \string\embedfile\ltx at space after \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \begingroup
-      \def\EmFi at file{#2}%
-      \kvsetkeys{EmFi}{#1}%
-      \expandafter\expandafter\expandafter
-      \ifx\expandafter\expandafter\expandafter
-          \\\pdf at filesize{\EmFi at file}\\%
-        \EmFi at Error{%
-          File `\EmFi at file' not found%
-        }{%
-          The unknown file is not embedded.%
-        }%
-      \else
-        \edef\EmFi@@filespec{%
-          \pdf at escapestring{\EmFi at filespec}%
-        }%
-        \ifx\EmFi at ucfilespec\ltx at empty
-          \let\EmFi@@ucfilespec\ltx at empty
-        \else
-          \EmFi at convert\EmFi at ucfilespec\EmFi@@ucfilespec
-        \fi
-        \ifx\EmFi at desc\ltx at empty
-          \let\EmFi@@desc\ltx at empty
-        \else
-          \EmFi at convert\EmFi at desc\EmFi@@desc
-        \fi
-        \ifEmFi at item
-          \let\do\EmFi at do
-          \immediate\pdfobj{%
-            <<%
-              \EmFi at fieldlist
-            >>%
-          }%
-          \edef\EmFi at ci{\the\pdflastobj}%
-        \fi
-        \immediate\pdfobj stream attr{%
-          /Type/EmbeddedFile%
-          \ifx\EmFi at mimetype\ltx at empty
-          \else
-            /Subtype/\pdf at escapename{\EmFi at mimetype}%
-          \fi
-          /Params<<%
-            /ModDate(\pdf at filemoddate{\EmFi at file})%
-            /Size \pdf at filesize{\EmFi at file}%
-            /CheckSum<\pdf at filemdfivesum{\EmFi at file}>%
-          >>%
-        }file{\EmFi at file}\relax
-        \EmFi at defobj{EmbeddedFile}%
-        \immediate\pdfobj{%
-          <<%
-            /Type/Filespec%
-            \ifx\EmFi at filesystem\ltx at empty
-            \else
-            /FS/\pdf at escapename{\EmFi at filesystem}%
-            \fi
-            /F(\EmFi@@filespec)%
-            \ifx\EmFi@@ucfilespec\ltx at empty
-            \else
-              /UF(\EmFi@@ucfilespec)%
-            \fi
-            \ifx\EmFi@@desc\ltx at empty
-            \else
-              /Desc(\EmFi@@desc)%
-            \fi
-            /EF<<%
-              /F \the\pdflastobj\ltx at space 0 R%
-            >>%
-            \ifEmFi at item
-              /CI \EmFi at ci\ltx at space 0 R%
-            \fi
-          >>%
-        }%
-        \EmFi at defobj{Filespec}%
-        \EmFi at add{%
-          \EmFi@@filespec
-        }{\the\pdflastobj\ltx at space 0 R}%
-      \fi
-    \endgroup
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at do}
-%    \begin{macrocode}
-\def\EmFi at do#1{%
-  \expandafter\ifx\csname EmFi at P@#1\endcsname\relax
-    \expandafter\ifx\csname EmFi at V@#1\endcsname\relax
-    \else
-      /\pdf at escapename{#1}\csname EmFi at V@#1\endcsname
-    \fi
-  \else
-    /\pdf at escapename{#1}<<%
-      \expandafter\ifx\csname EmFi at V@#1\endcsname\relax
-      \else
-        /D\csname EmFi at V@#1\endcsname
-      \fi
-      /P(\csname EmFi at P@#1\endcsname)%
-    >>%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EmFi at convert}
-%    \begin{macrocode}
-\def\EmFi at convert#1#2{%
-  \ifnum\pdf at strcmp{\EmFi at stringmethod}{psd}=0 %
-    \pdfstringdef\EmFi at temp{#1}%
-    \let#2\EmFi at temp
-  \else
-    \edef#2{\pdf at escapestring{#1}}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\global\let\EmFi at list\ltx at empty
-%    \end{macrocode}
-%    \begin{macro}{\EmFi at add}
-%    Sorting is done by the insertion sort algorithm.
-%    Probably the sorting could be done more reliable.
-%    However, the PDF specification is not too clear to me
-%    regarding precise sorting rules (how to deal with
-%    different encodings, escaped characters, \dots).
-%    \begin{macrocode}
-\def\EmFi at add#1#2{%
-  \begingroup
-    \ifx\EmFi at list\ltx at empty
-      \xdef\EmFi at list{\noexpand\do{#1}{#2}}%
-    \else
-      \def\do##1##2{%
-        \ifnum\pdf at strcmp{##1}{#1}>0 %
-          \edef\x{%
-            \toks@{%
-              \the\toks@%
-              \noexpand\do{#1}{#2}%
-              \noexpand\do{##1}{##2}%
-            }%
-          }%
-          \x
-          \def\do####1####2{%
-            \toks@\expandafter{\the\toks@\do{####1}{####2}}%
-          }%
-          \def\stop{%
-            \xdef\EmFi at list{\the\toks@}%
-          }%
-        \else
-          \toks@\expandafter{\the\toks@\do{##1}{##2}}%
-        \fi
-      }%
-      \def\stop{%
-        \xdef\EmFi at list{\the\toks@\noexpand\do{#1}{#2}}%
-      }%
-      \toks@{}%
-      \EmFi at list\stop
-    \fi
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\embedfilefinish}
-%    \begin{macrocode}
-\def\embedfilefinish{%
-  \ifEmFi at finished
-    \EmFi at Error{%
-      Too many invocations of \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \ifx\EmFi at list\ltx at empty
-    \else
-%    \end{macrocode}
-%    Write |/EmbeddedFiles| entry.
-%    \begin{macrocode}
-      \global\EmFi at finishedtrue
-      \begingroup
-        \def\do##1##2{%
-          (##1)##2%
-        }%
-        \immediate\pdfobj{%
-          <<%
-            /Names[\EmFi at list]%
-          >>%
-        }%
-        \pdfnames{%
-          /EmbeddedFiles \the\pdflastobj\ltx at space 0 R%
-        }%
-      \endgroup
-%    \end{macrocode}
-%    Write collection objects.
-%    \begin{macrocode}
-      \ifx\EmFi at initialfile\ltx at empty
-      \else
-        \EmFi at collectiontrue
-      \fi
-      \ifEmFi at collection
-        \ifx\EmFi at initialfile\ltx at empty
-          \let\EmFi@@initialfile\ltx at empty
-        \else
-          \edef\EmFi@@initialfile{%
-            \pdf at escapestring{\EmFi at initialfile}%
-          }%
-        \fi
-%    \end{macrocode}
-%    Look for initial file among the embedded files.
-%    \begin{macrocode}
-        \begingroup
-          \let\f=N%
-          \def\do##1##2{%
-            \def\x{##1}%
-            \ifx\x\EmFi@@initialfile
-              \let\f=Y%
-              \let\do\ltx at gobbletwo
-            \fi
-          }%
-          \EmFi at list
-        \expandafter\endgroup
-        \ifx\f Y%
-        \else
-          \@PackageWarningNoLine{embedfile}{%
-            Missing initial file `\EmFi at initialfile'\MessageBreak
-            among the embedded files%
-          }%
-          \let\EmFi at initialfile\ltx at empty
-          \let\EmFi@@initialfile\ltx at empty
-        \fi
-        \ifcase\EmFi at sortcase
-          \def\EmFi at temp{}%
-        \or
-          \def\EmFi at temp{%
-            /S\EmFi at sortkeys
-            /A \EmFi at sortorders
-          }%
-        \else
-          \def\EmFi at temp{%
-            /S[\EmFi at sortkeys]%
-            /A[\EmFi at sortorders]%
-          }%
-        \fi
-        \def\EmFi@@order##1{%
-          \ifnum\EmFi at order>1 %
-            /O ##1%
-          \fi
-        }%
-        \immediate\pdfobj{%
-          <<%
-            \ifx\EmFi at schema\ltx at empty
-            \else
-              /Schema<<\EmFi at schema>>%
-            \fi
-            \ifx\EmFi@@initialfile\ltx at empty
-            \else
-              /D(\EmFi@@initialfile)%
-            \fi
-            \ifx\EmFi at view\EmFi at S@tile
-              /View/T%
-            \else\ifx\EmFi at view\EmFi at S@hidden
-              /View/H%
-            \fi\fi
-            \ifx\EmFi at temp\ltx at empty
-              \EmFi at temp
-            \else
-              /Sort<<\EmFi at temp>>%
-            \fi
-          >>%
-        }%
-        \pdfcatalog{%
-          /Collection \the\pdflastobj\ltx at space0 R%
-        }%
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname AtEndDocument\endcsname\relax
-\else
-  \AtEndDocument{\embedfilefinish}%
-\fi
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\EmFi at AtEnd%
-%</package>
-%    \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input embedfile.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Simple test}
-%
-%    \begin{macrocode}
-%<*test2>
-\input embedfile.sty\relax
-\embedfile[%
-  stringmethod=escape,%
-  mimetype=plain/text,%
-  desc={LaTeX docstrip source archive for package `embedfile'},%
-  id={embedfile.dtx}%
-]{embedfile.dtx}
-\nopagenumbers
-Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.%
-
-\def\Test#1{%
-  \par
-  \embedfileifobjectexists{embedfile.dtx}{#1}{%
-    Object #1 (embedfile.dtx): %
-    \embedfilegetobject{embedfile.dtx}{#1}%
-  }{%
-    \errmessage{Missing object #1 (embedfile.dtx)}%
-  }%
-}
-\Test{EmbeddedFile}
-\Test{Filespec}
-\embedfilefinish
-\bye
-%</test2>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\let\SavedJobname\jobname
-\def\jobname{embedfile}
-\RequirePackage{dtx-attach}[2018/11/01]
-\let\jobname\SavedJobname
-\documentclass{minimal}
-\begin{document}
-  Test (\LaTeX): \texttt{embedfile.dtx} should be embedded.%
-\end{document}
-%</test3>
-%    \end{macrocode}
-%
-% \subsection{Test for \iniTeX}
-%
-%    \begin{macrocode}
-%<*test4>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\input ifluatex.sty %
-\ifluatex
-  \directlua{%
-    tex.enableprimitives('', {%
-      'pdflastobj',%
-      'pdfnames',%
-      'pdfobj',%
-      'pdfoutput'%
-    })%
-  }%
-  \ifx\pdfextension\undefined\else
-    \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
-    \protected\def\pdfnames   {\pdfextension names }
-    \protected\def\pdfobj     {\pdfextension obj }
-    \let\pdfoutput            \outputmode
-  \fi
-\fi
-\pdfoutput=1 %
-\input embedfile.sty %
-\shipout\hbox{}
-\embedfile[%
-  stringmethod=escape,%
-  mimetype=plain/text,%
-  desc={iniTeX source},%
-]{\jobname.tex}
-\embedfilefinish
-\end
-%</test4>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{embedfile}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/embedfile.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/embedfile.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-%   |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
-% \begin{quote}
-%   \verb|tex embedfile.dtx|
-% \end{quote}
-%
-% \paragraph{TDS.} Now the different files must be moved into
-% the different directories in your installation TDS tree
-% (also known as \xfile{texmf} tree):
-% \begin{quote}
-% \def\t{^^A
-% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-%   embedfile.sty & tex/generic/oberdiek/embedfile.sty\\
-%   dtx-attach.sty & tex/generic/oberdiek/dtx-attach.sty\\
-%   embedfile.pdf & doc/latex/oberdiek/embedfile.pdf\\
-%   embedfile-example-plain.tex & doc/latex/oberdiek/embedfile-example-plain.tex\\
-%   embedfile-example-collection.tex & doc/latex/oberdiek/embedfile-example-collection.tex\\
-%   test/embedfile-test1.tex & doc/latex/oberdiek/test/embedfile-test1.tex\\
-%   test/embedfile-test2.tex & doc/latex/oberdiek/test/embedfile-test2.tex\\
-%   test/embedfile-test3.tex & doc/latex/oberdiek/test/embedfile-test3.tex\\
-%   test/embedfile-test4.tex & doc/latex/oberdiek/test/embedfile-test4.tex\\
-%   embedfile.dtx & source/latex/oberdiek/embedfile.dtx\\
-% \end{tabular}^^A
-% }^^A
-% \sbox0{\t}^^A
-% \ifdim\wd0>\linewidth
-%   \begingroup
-%     \advance\linewidth by\leftmargin
-%     \advance\linewidth by\rightmargin
-%   \edef\x{\endgroup
-%     \def\noexpand\lw{\the\linewidth}^^A
-%   }\x
-%   \def\lwbox{^^A
-%     \leavevmode
-%     \hbox to \linewidth{^^A
-%       \kern-\leftmargin\relax
-%       \hss
-%       \usebox0
-%       \hss
-%       \kern-\rightmargin\relax
-%     }^^A
-%   }^^A
-%   \ifdim\wd0>\lw
-%     \sbox0{\small\t}^^A
-%     \ifdim\wd0>\linewidth
-%       \ifdim\wd0>\lw
-%         \sbox0{\footnotesize\t}^^A
-%         \ifdim\wd0>\linewidth
-%           \ifdim\wd0>\lw
-%             \sbox0{\scriptsize\t}^^A
-%             \ifdim\wd0>\linewidth
-%               \ifdim\wd0>\lw
-%                 \sbox0{\tiny\t}^^A
-%                 \ifdim\wd0>\linewidth
-%                   \lwbox
-%                 \else
-%                   \usebox0
-%                 \fi
-%               \else
-%                 \lwbox
-%               \fi
-%             \else
-%               \usebox0
-%             \fi
-%           \else
-%             \lwbox
-%           \fi
-%         \else
-%           \usebox0
-%         \fi
-%       \else
-%         \lwbox
-%       \fi
-%     \else
-%       \usebox0
-%     \fi
-%   \else
-%     \lwbox
-%   \fi
-% \else
-%   \usebox0
-% \fi
-% \end{quote}
-% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
-% TDS installing feature, then some files can already be in the right
-% place, see the documentation of \docstrip.
-%
-% \subsection{Refresh file name databases}
-%
-% If your \TeX~distribution
-% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
-% these. For example, \TeX\,Live\ users run \verb|texhash| or
-% \verb|mktexlsr|.
-%
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-%   \verb|latex \let\install=y\input{embedfile.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
-% line into this file, if you want to have A4 as paper format:
-% \begin{quote}
-%   \verb|\PassOptionsToClass{a4paper}{article}|
-% \end{quote}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex embedfile.dtx
-%makeindex -s gind.ist embedfile.idx
-%pdflatex embedfile.dtx
-%makeindex -s gind.ist embedfile.idx
-%pdflatex embedfile.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-% \bibitem{attachfile}
-%   Scott Pakin: \textit{The \xpackage{attachfile} package};
-%   2005/02/20 v1.2;
-%   \CTANpkg{attachfile}.
-%
-% \bibitem{attachfile2}
-%   Heiko Oberdiek: \textit{The \xpackage{attachfile2} package};
-%   2006/08/16 v2.2;
-%   \CTAN{macros/latex/contrib/attachfile2/attachfile2.pdf}.
-%
-% \bibitem{pdfspec}
-%   Adobe Systems Incorporated:
-%   \href{http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf}%
-%       {\textit{PDF Reference, Sixth Edition, Version 1.7}},%
-%   Oktober 2006;
-%   \url{http://www.adobe.com/devnet/pdf/pdf_reference.html}.
-%
-% \bibitem{mime}
-%   Network Working Group: RFC 2046, \textit{Multipurpose Internet Mail Extensions (MIME) Part Two:
-%     Media Types}, November 1996; \url{http://www.rfc-editor.org/}.
-%
-% \bibitem{types}
-%   IANA (Internet Assigned Numbers Authority):
-%   \textit{MIME Media Types}, May 2006;
-%   \url{http://www.iana.org/assignments/media-types/}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2006/08/16 v1.0}
-%   \item
-%     First public version.
-%   \end{Version}
-%   \begin{Version}{2007/04/11 v1.1}
-%   \item
-%     Line ends sanitized.
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v1.2}
-%   \item
-%     Fixes for plain-TeX, wrapper for package \xpackage{keyval} added.
-%   \item
-%     Catcode section rewritten.
-%   \end{Version}
-%   \begin{Version}{2007/10/28 v2.0}
-%   \item
-%     Collection support added (PDF 1.7).
-%   \end{Version}
-%   \begin{Version}{2007/10/29 v2.1}
-%   \item
-%     Export of object references by adding new option \xoption{id} and
-%     new macros \cs{embedfileifobjectexists} and \cs{embedfilegetobject}.
-%   \end{Version}
-%   \begin{Version}{2007/11/11 v2.2}
-%   \item
-%     Use of package \xpackage{pdftexcmds} for \LuaTeX\ support.
-%   \end{Version}
-%   \begin{Version}{2007/11/25 v2.3}
-%   \item
-%     Fix in use of \cs{pdf at filesize}, bug introduced in previous version.
-%   \end{Version}
-%   \begin{Version}{2009/09/25 v2.4}
-%   \item
-%     Bug fix: If \xpackage{hyperref} is used with option \xoption{unicode},
-%     the Unicode encoded file name causes trouble. Therefore \cs{pdfstringdef}
-%     is now never used for option \xoption{filespec}, always method
-%     \texttt{escape} is applied (Peter Cibulka).
-%   \item
-%     Bug fix for \xoption{initialfile}.
-%   \item
-%     Bug fix for file names in \texttt{/EmbeddedFiles}.
-%   \item
-%     New option \xoption{ucfilespec} for file name support in Unicode
-%     (since PDF 1.7).
-%   \end{Version}
-%   \begin{Version}{2010/03/01 v2.5}
-%   \item
-%     Compatibility for \iniTeX.
-%   \item
-%     Package \xpackage{keyval} replaced by packages \xpackage{kvsetkeys}
-%     and \xpackage{kvdefinekeys} because of compatibility for \iniTeX.
-%   \item
-%     TDS location moved from TDS:tex/latex/oberdiek/embedfile.sty to
-%     TDS:tex/generic/oberdiek/embedfile.sty.
-%   \end{Version}
-%   \begin{Version}{2011/04/13 v2.6}
-%   \item
-%     Docu fixes (thanks Hans-Martin M\"unch).
-%   \end{Version}
-%   \begin{Version}{2016/05/15 v2.7}
-%   \item
-%     LuaTeX compatibility
-%   \end{Version}
-%   \begin{Version}{2018/11/01 v2.8}
-%   \item
-%     Remove luatex85 package depenency.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/engord.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/engord.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/engord.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -65,7 +65,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/engord.sty
 %    TDS:doc/latex/oberdiek/engord.pdf
-%    TDS:doc/latex/oberdiek/test/engord-test1.tex
 %    TDS:source/latex/oberdiek/engord.dtx
 %
 %<*ignore>
@@ -135,10 +134,6 @@
   \file{engord.sty}{\from{engord.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{engord-test1.tex}{\from{engord.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{engord.xml}{\from{engord.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -175,21 +170,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{engord.drv}
 %
@@ -655,119 +635,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input engord.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -815,7 +684,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   engord.sty & tex/generic/oberdiek/engord.sty\\
 %   engord.pdf & doc/latex/oberdiek/engord.pdf\\
-%   test/engord-test1.tex & doc/latex/oberdiek/test/engord-test1.tex\\
 %   engord.dtx & source/latex/oberdiek/engord.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/enparen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/enparen.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/enparen.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -163,21 +163,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{enparen.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -71,8 +71,6 @@
 %    TDS:doc/latex/oberdiek/example/eolgrab-example-ltx.tex
 %    TDS:doc/latex/oberdiek/example/eolgrab-example-env.tex
 %    TDS:doc/latex/oberdiek/example/eolgrab-example-sec.tex
-%    TDS:doc/latex/oberdiek/test/eolgrab-test1.tex
-%    TDS:doc/latex/oberdiek/test/eolgrab-test2.tex
 %    TDS:source/latex/oberdiek/eolgrab.dtx
 %
 %<*ignore>
@@ -150,10 +148,6 @@
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{eolgrab-test1.tex}{\from{eolgrab.dtx}{test1}}%
 %  \file{eolgrab-test2.tex}{\from{eolgrab.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{eolgrab.xml}{\from{eolgrab.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -190,21 +184,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{eolgrab.drv}
 %
@@ -688,153 +667,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input eolgrab.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Tests for \hologo{plainTeX}}
-%
-%    \begin{macrocode}
-%<*test2>
-\input eolgrab.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\eolgrab{\immediate\write16}Hello World
-\def\TestExpected{foo bar}
-\eolgrab{\def\TestResult}foo bar
-
-\ifx\TestExpected\TestResult
-  \immediate\write16{* Ok (foo bar)}%
-\else
-  \errmessage{Test failed (foo bar)}%
-\fi
-
-\begingroup
-  \def\TestExpected{foobar}%
-  \endlinechar=-1 %
-  \eolgrab{\def\TestResult}foo
-  bar
-  ^^M
-  \ifx\TestExpected\TestResult
-    \immediate\write16{* Ok (foobar)}%
-  \else
-    \errmessage{Test failed (foobar)}%
-  \fi
-\endgroup
-
-\csname @@end\endcsname\end
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -885,8 +719,6 @@
 %   example/eolgrab-example-ltx.tex & doc/latex/oberdiek/example/eolgrab-example-ltx.tex\\
 %   example/eolgrab-example-env.tex & doc/latex/oberdiek/example/eolgrab-example-env.tex\\
 %   example/eolgrab-example-sec.tex & doc/latex/oberdiek/example/eolgrab-example-sec.tex\\
-%   test/eolgrab-test1.tex & doc/latex/oberdiek/test/eolgrab-test1.tex\\
-%   test/eolgrab-test2.tex & doc/latex/oberdiek/test/eolgrab-test2.tex\\
 %   eolgrab.dtx & source/latex/oberdiek/eolgrab.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,10 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/etexcmds.sty
 %    TDS:doc/latex/oberdiek/etexcmds.pdf
-%    TDS:doc/latex/oberdiek/test/etexcmds-test1.tex
-%    TDS:doc/latex/oberdiek/test/etexcmds-test2.tex
-%    TDS:doc/latex/oberdiek/test/etexcmds-test3.tex
-%    TDS:doc/latex/oberdiek/test/etexcmds-test4.tex
 %    TDS:source/latex/oberdiek/etexcmds.dtx
 %
 %<*ignore>
@@ -145,10 +141,6 @@
 %  \file{etexcmds-test2.tex}{\from{etexcmds.dtx}{test2}}%
 %  \file{etexcmds-test3.tex}{\from{etexcmds.dtx}{test3}}%
 %  \file{etexcmds-test4.tex}{\from{etexcmds.dtx}{test4}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{etexcmds.xml}{\from{etexcmds.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -185,21 +177,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{etexcmds.drv}
 %
@@ -555,181 +532,8 @@
 \etexcmds at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input etexcmds.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-%    \begin{macrocode}
-%<*test2>
-\immediate\write16{etexcmds-test2.tex: test file for plainTeX}
-\input etexcmds.sty\relax
-\catcode`\@=11 %
-\edef\x{\string\unexpanded}
-\edef\y{\meaning\etex at unexpanded}
-\ifx\x\y
-\else
-  \@PackageError{etexcmds-test2}{Test failed}\@ehc
-\fi
-\end
-%</test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{etexcmds-test3.tex}[2016/05/16 v1.6 Test file for LaTeX]
-\RequirePackage{etexcmds}
-\makeatletter
-\edef\x{\string\unexpanded}
-\edef\y{\meaning\etex at unexpanded}
-\ifx\x\y
-\else
-  \@PackageError{etexcmds-test3}{Test failed}\@ehc
-\fi
-\stop
-%</test3>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{etexcmds-test4.tex}[2016/05/16 v1.6 Test file for LaTeX]
-\documentclass{article}
-\usepackage{m-pictex}
-\def\normalwritestatus#1#2{%
-  \typeout{EMERGENCY HACK \string\normalwritestatus}%
-  \typeout{#1: #2}%
-}
-\usepackage{m-ch-de}
-\usepackage{etexcmds}
-\makeatletter
-\ifetex at unexpanded
-  \edef\x{\string\unexpanded}%
-  \edef\y{\meaning\etex at unexpanded}%
-  \ifx\x\y
-  \else
-    \@PackageWarningNoLine{etexcmds-test4}{Test failed}%
-  \fi
-\else
-  \@PackageWarningNoLine{etexcmds-test4}{%
-    Test failed because of ConTeXt%
-  }%
-\fi
-\stop
-%</test4>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -777,10 +581,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   etexcmds.sty & tex/generic/oberdiek/etexcmds.sty\\
 %   etexcmds.pdf & doc/latex/oberdiek/etexcmds.pdf\\
-%   test/etexcmds-test1.tex & doc/latex/oberdiek/test/etexcmds-test1.tex\\
-%   test/etexcmds-test2.tex & doc/latex/oberdiek/test/etexcmds-test2.tex\\
-%   test/etexcmds-test3.tex & doc/latex/oberdiek/test/etexcmds-test3.tex\\
-%   test/etexcmds-test4.tex & doc/latex/oberdiek/test/etexcmds-test4.tex\\
 %   etexcmds.dtx & source/latex/oberdiek/etexcmds.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/fibnum.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/fibnum.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/fibnum.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,8 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/fibnum.sty
 %    TDS:doc/latex/oberdiek/fibnum.pdf
-%    TDS:doc/latex/oberdiek/test/fibnum-test1.tex
-%    TDS:doc/latex/oberdiek/test/fibnum-test-calc.tex
 %    TDS:source/latex/oberdiek/fibnum.dtx
 %
 %<*ignore>
@@ -219,21 +217,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{fibnum.drv}
 %
@@ -738,250 +721,8 @@
 \FibNum at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input fibnum.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Test calculations}
-%
-%    \begin{macrocode}
-%<*test-calc>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input fibnum.sty\relax
-\else
-  \RequirePackage{fibnum}[2016/05/16]%
-\fi
-\def\TestSet{%
-  \test{0}{0}%
-  \test{1}{1}%
-  \test{2}{1}%
-  \test{3}{2}%
-  \test{4}{3}%
-  \test{5}{5}%
-  \test{6}{8}%
-  \test{7}{13}%
-  \test{8}{21}%
-  \test{9}{34}%
-  \test{10}{55}%
-  \test{11}{89}%
-  \test{12}{144}%
-  \test{13}{233}%
-  \test{14}{377}%
-  \test{15}{610}%
-  \test{16}{987}%
-  \test{17}{1597}%
-  \test{18}{2584}%
-  \test{19}{4181}%
-  \test{20}{6765}%
-  \test{21}{10946}%
-  \test{22}{17711}%
-  \test{23}{28657}%
-  \test{24}{46368}%
-  \test{25}{75025}%
-  \test{26}{121393}%
-  \test{27}{196418}%
-  \test{28}{317811}%
-  \test{29}{514229}%
-  \test{30}{832040}%
-  \test{31}{1346269}%
-  \test{32}{2178309}%
-  \test{33}{3524578}%
-  \test{34}{5702887}%
-  \test{35}{9227465}%
-  \test{36}{14930352}%
-  \test{37}{24157817}%
-  \test{38}{39088169}%
-  \test{39}{63245986}%
-  \test{40}{102334155}%
-  \test{41}{165580141}%
-  \test{42}{267914296}%
-  \test{43}{433494437}%
-  \test{44}{701408733}%
-  \test{45}{1134903170}%
-  \test{46}{1836311903}%
-  \test{47}{2971215073}%
-  \test{48}{4807526976}%
-  \test{49}{7778742049}%
-  \test{50}{12586269025}%
-  \test{51}{20365011074}%
-  \test{52}{32951280099}%
-  \test{53}{53316291173}%
-  \test{54}{86267571272}%
-  \test{55}{139583862445}%
-  \test{56}{225851433717}%
-  \test{57}{365435296162}%
-  \test{58}{591286729879}%
-  \test{59}{956722026041}%
-  \test{60}{1548008755920}%
-  \test{61}{2504730781961}%
-  \test{62}{4052739537881}%
-  \test{63}{6557470319842}%
-  \test{64}{10610209857723}%
-  \test{65}{17167680177565}%
-  \test{66}{27777890035288}%
-  \test{67}{44945570212853}%
-  \test{68}{72723460248141}%
-  \test{69}{117669030460994}%
-  \test{70}{190392490709135}%
-  \test{71}{308061521170129}%
-  \test{72}{498454011879264}%
-  \test{73}{806515533049393}%
-}
-\def\msg#{\immediate\write16}
-\def\test#1#2{%
-  \TestAux{#1}{#2}%
-  \ifnum#1=0 %
-  \else
-    \ifodd#1 %
-      \TestAux{-#1}{#2}%
-    \else
-      \TestAux{-#1}{-#2}%
-    \fi
-  \fi
-}
-\def\TestAux#1#2{%
-  \def\Expected{#2}%
-  \expandafter\expandafter\expandafter\def
-  \expandafter\expandafter\expandafter\Result
-  \expandafter\expandafter\expandafter{%
-    \fibnum{#1}%
-  }%
-  \ltx at onelevel@sanitize\Result
-  \ifx\Result\Expected
-    \msg{* #1: ok.}%
-  \else
-    \msg{! fib(#1) = #2}%
-    \errmessage{fib(#1) <> \Result}%
-  \fi
-}
-\TestSet
-\setbox0=\hbox{%
-  \msg{* PreCalc{73}}%
-  \fibnumPreCalc{73}%
-}
-\ifdim\wd0=0pt
-\else
-  \errmessage{Unwanted stuff in PreCalc}%
-\fi
-\TestSet
-\csname @@end\endcsname\end
-%</test-calc>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1029,8 +770,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   fibnum.sty & tex/generic/oberdiek/fibnum.sty\\
 %   fibnum.pdf & doc/latex/oberdiek/fibnum.pdf\\
-%   test/fibnum-test1.tex & doc/latex/oberdiek/test/fibnum-test1.tex\\
-%   test/fibnum-test-calc.tex & doc/latex/oberdiek/test/fibnum-test-calc.tex\\
 %   fibnum.dtx & source/latex/oberdiek/fibnum.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/flags.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/flags.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/flags.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{flags.drv}{\from{flags.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{flags.sty}{\from{flags.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{flags.xml}{\from{flags.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{flags.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,8 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/gettitlestring.sty
 %    TDS:doc/latex/oberdiek/gettitlestring.pdf
-%    TDS:doc/latex/oberdiek/test/gettitlestring-test1.tex
-%    TDS:doc/latex/oberdiek/test/gettitlestring-test2.tex
 %    TDS:source/latex/oberdiek/gettitlestring.dtx
 %
 %<*ignore>
@@ -141,10 +139,6 @@
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{gettitlestring-test1.tex}{\from{gettitlestring.dtx}{test1}}%
 %  \file{gettitlestring-test2.tex}{\from{gettitlestring.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{gettitlestring.xml}{\from{gettitlestring.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -181,21 +175,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{gettitlestring.drv}
 %
@@ -616,159 +595,8 @@
 \GTS at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input gettitlestring.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Test of non-expand method}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{gettitlestring}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
-\begin{qstest}{non-expand}{non-expand}
-  \def\test#1#2{%
-    \sbox0{%
-      \GetTitleString{#1}%
-      \Expect{#2}*{\GetTitleStringResult}%
-    }%
-    \Expect{0.0pt}*{\the\wd0}%
-  }%
-  \test{}{}%
-  \test{ }{}%
-  \test{ x }{x}%
-  \test{ x y }{x y}%
-  \test{ \relax}{\relax}%
-  \test{\label{f}a}{a}%
-  \test{ \label{f}a}{a}%
-  \test{\label{f} a}{a}%
-  \test{ \label{f} a}{a}%
-  \test{a\label{f}}{a}%
-  \test{a\label{f} }{a}%
-  \test{a \label{f}}{a}%
-  \test{a \label{f} }{a}%
-  \test{a\label{f}b\label{g}}{ab}%
-  \test{a \label{f}b \label{g} }{a b}%
-  \test{a\label{f} b \label{g} }{a b}%
-\end{qstest}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -816,8 +644,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   gettitlestring.sty & tex/generic/oberdiek/gettitlestring.sty\\
 %   gettitlestring.pdf & doc/latex/oberdiek/gettitlestring.pdf\\
-%   test/gettitlestring-test1.tex & doc/latex/oberdiek/test/gettitlestring-test1.tex\\
-%   test/gettitlestring-test2.tex & doc/latex/oberdiek/test/gettitlestring-test2.tex\\
 %   gettitlestring.dtx & source/latex/oberdiek/gettitlestring.dtx\\
 % \end{tabular}^^A
 % }^^A

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/grfext.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/grfext.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/grfext.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,1130 +0,0 @@
-% \iffalse meta-comment
-%
-% File: grfext.dtx
-% Version: 2016/05/16 v1.2
-% Info: Manage graphics extensions
-%
-% Copyright (C)
-%    2007, 2010 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% This work consists of the main source file grfext.dtx
-% and the derived files
-%    grfext.sty, grfext.pdf, grfext.ins, grfext.drv, grfext-test1.tex,
-%    grfext-test2.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/grfext.dtx
-%    CTAN:macros/latex/contrib/oberdiek/grfext.pdf
-%
-% Unpacking:
-%    (a) If grfext.ins is present:
-%           tex grfext.ins
-%    (b) Without grfext.ins:
-%           tex grfext.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{grfext.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If grfext.drv is present:
-%           latex grfext.drv
-%    (b) Without grfext.drv:
-%           latex grfext.dtx; ...
-%    The class ltxdoc loads the configuration file ltxdoc.cfg
-%    if available. Here you can specify further options, e.g.
-%    use A4 as paper format:
-%       \PassOptionsToClass{a4paper}{article}
-%
-%    Programm calls to get the documentation (example):
-%       pdflatex grfext.dtx
-%       makeindex -s gind.ist grfext.idx
-%       pdflatex grfext.dtx
-%       makeindex -s gind.ist grfext.idx
-%       pdflatex grfext.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/grfext.sty
-%    TDS:doc/latex/oberdiek/grfext.pdf
-%    TDS:doc/latex/oberdiek/test/grfext-test1.tex
-%    TDS:doc/latex/oberdiek/test/grfext-test2.tex
-%    TDS:source/latex/oberdiek/grfext.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: grfext
-Version: 2016/05/16 v1.2
-
-Copyright (C)
-   2007, 2010 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-This work consists of the main source file grfext.dtx
-and the derived files
-   grfext.sty, grfext.pdf, grfext.ins, grfext.drv, grfext-test1.tex,
-   grfext-test2.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{grfext.ins}{\from{grfext.dtx}{install}}%
-  \file{grfext.drv}{\from{grfext.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{grfext.sty}{\from{grfext.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{grfext-test1.tex}{\from{grfext.dtx}{test1}}%
-%  \file{grfext-test2.tex}{\from{grfext.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{grfext.xml}{\from{grfext.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     grfext.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `grfext.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{grfext.drv}%
-  [2016/05/16 v1.2 Manage graphics extensions (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{grfext.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
-%
-% \GetFileInfo{grfext.drv}
-%
-% \title{The \xpackage{grfext} package}
-% \date{2016/05/16 v1.2}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package provides macros for adding and reordering
-% graphics extensions of package \xpackage{graphics}.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% If you are not familiar with \LaTeX's graphics bundle, please
-% read its documentation \xfile{grffile} \cite{graphics}.
-% The bundle contains two packages for graphics inclusion:
-% \xpackage{graphics} and \xpackage{graphicx}. The first one
-% is loaded by the second one that adds a key value interface.
-%
-% Graphics files are included in both cases by macro
-% \cs{includegraphics}. The file name extension can be omitted.
-% Then the graphics package goes through a list of known
-% extensions until it finds the graphics file. This extension list
-% is set by \cs{DeclareGraphicsExtensions}. The previous contents
-% of the list is overwritten.
-%
-% \subsection{User interface}
-%
-% This package \xpackage{grfext} provides macros that adds entries
-% to the list or remove them. The list may be empty or even
-% undefined before. It is always defined afterwards, but can
-% be empty (especially after removing entries).
-%
-% \begin{declcs}{AppendGraphicsExtensions} * \M{ext-list}\\
-%   \cs{PrependGraphicsExtensions} * \M{ext-list}
-% \end{declcs}
-% The argument \meta{ext-list} is a comma separated list whose
-% entries are file name extensions including the dot.
-% But first the entries are removed from
-% \xpackage{graphics}' extension list to avoid multiple
-% occurences of the same extension.
-%
-% Then macro \cs{AppendGraphicsExtensions} adds the entries
-% after the end of \xpackage{graphics}' list, whereas
-% macro \cs{PrependGraphicsExtensions} puts them in front
-% of the list.
-% The order matters if a graphics file is available in
-% different acceptable formats. Then the first extension
-% wins.
-%
-% The star version of these commands only adds an extensions,
-% if a specific graphics rule exists for that extension.
-%
-% \begin{declcs}{RemoveGraphicsExtensions} \M{ext-list}
-% \end{declcs}
-% All occurences of file extensions in \meta{ext-list} are
-% removed from \xpackage{graphics}' extension list.
-%
-% \subsection{Package loading}
-%
-% The package does not define any options. It is loaded
-% as usual in \LaTeX, e.g.:
-% \begin{quote}
-%   |\usepackage{grfext}|
-% \end{quote}
-%
-% \begin{declcs}{PrintGraphicsExtensions}
-% \end{declcs}
-% Macro \cs{PrintGraphicsExtensions} writes the current
-% graphics extensions list in the \xfile{.log} file.
-% The macros described before do this automatically
-% after their operation.
-%
-% \subsection{Option support for package \xpackage{graphicx}}
-%
-% Package \xpackage{graphicx} uses the interface of package
-% \xpackage{keyval} in order to specify options for
-% \cs{includegraphics}. The options can also be set using
-% \begin{quote}
-%   |\setkeys{Gin}{|\meta{options}|}|
-% \end{quote}
-% The four user macros with the two star forms are available
-% as options in family |Gin| as well:
-% \begin{quote}
-%   |AppendGraphicsExtensions={|\meta{ext-list}|}|\\
-%   |AppendGraphicsExtensions*={|\meta{ext-list}|}|\\
-%   |PrependGraphicsExtensions={|\meta{ext-list}|}|\\
-%   |PrependGraphicsExtensions*{|\meta{ext-list}|}|\\
-%   |RemoveGraphicsExtensions={|\meta{ext-list}|}|\\
-%   |PrintGraphicsExtensions|
-% \end{quote}
-% This makes it easier to locally change the extension list
-% for an included graphics, e.g.:
-% \begin{quote}
-%   |\includegraphics[RemoveGraphicsExtensions={.pdf,PDF}]{image}|
-% \end{quote}
-%
-% \subsection{\plainTeX}
-%
-% \LaTeX's graphics packages can also be used with \plainTeX.
-% The necessary basic \LaTeX\ macros are defined in
-% \xfile{miniltx.tex}. This package \xpackage{grfext} also
-% relies on it. Example:
-%\begin{quote}
-%\begin{verbatim}
-%\input miniltx.tex\relax
-%\def\Gin at driver{pdftex.def}
-%\input graphicx.sty\relax
-%\input grfext.sty\relax
-%\resetatcatcode
-%\end{verbatim}
-%\end{quote}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsection{Relead check and identification}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at grfext.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{grfext}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at grfext.sty\endcsname
-\ProvidesPackage{grfext}%
-  [2016/05/16 v1.2 Manage graphics extensions (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Catcodes}
-%
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname grfext at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\grfext at AtEnd{%
-    \grfext at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\grfext at AtEnd{\grfext at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{\plainTeX}
-%
-%    \begin{macro}{\@expandtwoargs}
-%    Requirement is \xfile{miniltx.tex}, but we need also
-%    \LaTeX's \cs{@expandtwoargs}.
-%    \begin{macrocode}
-\@ifundefined{@expandtwoargs}{%
-  \def\@expandtwoargs#1#2#3{%
-    \edef\reserved at a{\noexpand#1{#2}{#3}}%
-    \reserved at a
-  }%
-}{}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Add}
-%
-%    \begin{macro}{\AppendGraphicsExtensions}
-%    \begin{macrocode}
-\newcommand*{\AppendGraphicsExtensions}{%
-  \@ifundefined{Gin at extensions}{%
-    \let\Gin at extensions\@empty
-  }{}%
-  \@ifstar{\grfext at Append\grfext at Check}{\grfext at Append\grfext@@Add}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\grfext at Append}
-%    \begin{macrocode}
-\def\grfext at Append#1#2{%
-  \let\grfext at Print\@gobble
-  \edef\grfext at next{%
-    \noexpand\grfext at Add\noexpand#1{%
-      \zap at space#2 \@empty
-    }{\noexpand\Gin at extensions,}{}%
-  }%
-  \grfext at next
-  \let\grfext at Print\grfext@@Print
-  \grfext at Print\AppendGraphicsExtensions
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\PrependGraphicsExtensions}
-%    \begin{macrocode}
-\newcommand*{\PrependGraphicsExtensions}{%
-  \@ifundefined{Gin at extensions}{%
-    \let\Gin at extensions\@empty
-  }{}%
-  \@ifstar{\grfext at Prepend\grfext at Check}{\grfext at Prepend\grfext@@Add}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\grfext at Prepend}
-%    \begin{macrocode}
-\def\grfext at Prepend#1#2{%
-  \let\grfext at Print\@gobble
-  \edef\grfext at next{%
-    \noexpand\grfext at Add\noexpand#1{%
-      \zap at space#2 \@empty
-    }{}{,\noexpand\Gin at extensions}%
-  }%
-  \grfext at next
-  \let\grfext at Print\grfext@@Print
-  \grfext at Print\PrependGraphicsExtensions
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\grfext at Add}
-%    \begin{macrocode}
-\def\grfext at Add#1#2{%
-  #1{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\grfext@@Add}
-%    \begin{macrocode}
-\def\grfext@@Add#1#2#3{%
-  \RemoveGraphicsExtensions{#1}%
-  \ifx\Gin at extensions\@empty
-    \def\Gin at extensions{#1}%
-  \else
-    \edef\Gin at extensions{#2#1#3}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Check}
-%
-%    \begin{macro}{\grfext at Check}
-%    \begin{macrocode}
-\def\grfext at Check#1{%
-  \let\grfext at tmp\@empty
-  \@for\grfext at ext:=#1\do{%
-    \@ifundefined{Gin at rule@\grfext at ext}{%
-    }{%
-      \ifx\grfext at tmp\@empty
-        \let\grfext at tmp\grfext at ext
-      \else
-        \edef\grfext at tmp{\grfext at tmp,\grfext at ext}%
-      \fi
-    }%
-  }%
-  \ifx\grfext at tmp\@empty
-    \def\grfext at next##1##2{}%
-  \else
-    \edef\grfext at next{%
-      \noexpand\grfext@@Add{\grfext at tmp}%
-    }%
-  \fi
-  \grfext at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Remove}
-%
-%    \begin{macro}{\RemoveGraphicsExtensions}
-%    \begin{macrocode}
-\newcommand*{\RemoveGraphicsExtensions}[1]{%
-  \@ifundefined{Gin at extensions}{%
-    \def\Gin at extensions{}%
-  }{%
-    \edef\grfext at tmp{\zap at space#1 \@empty}%
-    \@for\grfext at ext:=\grfext at tmp\do{%
-      \def\grfext at next{%
-        \let\grfext at tmp\Gin at extensions
-        \@expandtwoargs
-        \@removeelement\grfext at ext\Gin at extensions\Gin at extensions
-        \ifx\grfext at tmp\Gin at extensions
-          \let\grfext at next\relax
-        \fi
-        \grfext at next
-      }%
-      \grfext at next
-    }%
-  }%
-  \grfext at Print\RemoveGraphicsExtensions
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Print}
-%
-%    \begin{macrocode}
-\RequirePackage{infwarerr}[2007/09/09]
-%    \end{macrocode}
-%
-%    \begin{macro}{\PrintGraphicsExtensions}
-%    \begin{macrocode}
-\def\PrintGraphicsExtensions{%
-  \grfext at Print\PrintGraphicsExtensions
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\grfext at Print}
-%    \begin{macrocode}
-\def\grfext at Print#1{%
-  \@PackageInfo{grfext}{%
-    Graphics extension search list:\MessageBreak
-    \@ifundefined{Gin at extensions}{%
-      <unavailable>%
-    }{%
-      [\Gin at extensions]%
-    }\MessageBreak
-    \string#1%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\grfext@@Print}
-%    \begin{macrocode}
-\let\grfext@@Print\grfext at Print
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Defining options for package \xpackage{graphicx}}
-%
-%    \begin{macrocode}
-\RequirePackage{kvdefinekeys}[2010/03/01]
-\kv at define@key{Gin}{AppendGraphicsExtensions}{%
-  \AppendGraphicsExtensions{#1}%
-}
-\kv at define@key{Gin}{AppendGraphicsExtensions*}{%
-  \AppendGraphicsExtensions*{#1}%
-}
-\kv at define@key{Gin}{PrependGraphicsExtensions}{%
-  \PrependGraphicsExtensions{#1}%
-}
-\kv at define@key{Gin}{PrependGraphicsExtensions*}{%
-  \PrependGraphicsExtensions*{#1}%
-}
-\kv at define@key{Gin}{RemoveGraphicsExtensions}{%
-  \RemoveGraphicsExtensions{#1}%
-}
-\kv at define@key{Gin}{PrintGraphicsExtensions}[]{%
-  \PrintGraphicsExtensions
-}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\grfext at AtEnd%
-%</package>
-%    \end{macrocode}
-%
-% \section{Test}
-%
-%     Load \xfile{miniltx} for standard catcode test.
-%    \begin{macrocode}
-%<*test1>
-\input miniltx.tex\relax
-\resetatcatcode
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input grfext.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\usepackage[pdftex]{graphics}
-\usepackage{grfext}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-%    \end{macrocode}
-%
-% \subsubsection{Detection of unwanted space}
-%
-%    \begin{macrocode}
-\let\orig at qstest\qstest
-\let\orig at endqstest\endqstest
-\def\qstest#1#2{%
-  \orig at qstest{#1}{#2}%
-  \setbox0\hbox\bgroup\begingroup\ignorespaces
-}
-\def\endqstest{%
-  \endgroup\egroup
-  \Expect*{\the\wd0}{0.0pt}%
-  \orig at endqstest
-}
-%    \end{macrocode}
-%
-% \subsubsection{Generic test macros}
-%
-%    \begin{macrocode}
-\def\Test{\@ifnextchar\bgroup\TestInitList\TestInitCmd}%
-\def\TestInitList#1{%
-  \def\Gin at extensions{#1}%
-  \@Test
-}
-\def\TestInitCmd#1{%
-  \let\Gin at extensions#1\relax
-  \@Test
-}
-\def\@Test#1#2{%
-  \TestCmd{#1}%
-  \expandafter\Expect\expandafter*{\Gin at extensions}{#2}%
-}
-%    \end{macrocode}
-%
-% \subsubsection{Test for \cs{AppendGraphicsExtensions}}
-%
-%    \begin{macrocode}
-\begin{qstest}{AppendGraphicsExtensions}{AppendGraphicsExtensions}
-  \let\TestCmd\AppendGraphicsExtensions
-  \Test\@undefined{.test}{.test}%
-  \Test\relax{.test}{.test}%
-  \Test{}{.test}{.test}%
-  \Test{.foo}{.test}{.foo,.test}%
-  \Test{.foo,.bar}{.test}{.foo,.bar,.test}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo,.test}{.test}{.foo,.test}%
-  \Test{.test,.foo}{.test}{.foo,.test}%
-  \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}%
-  \Test{.foo}{.test,.bar}{.foo,.test,.bar}%
-  \Test{.foo}{.test,.foo}{.test,.foo}%
-  \Test{.foo}{ .test ,.bar , .x, .y }{.foo,.test,.bar,.x,.y}%
-  \def\TestCmd{\AppendGraphicsExtensions*}%
-  \Test\@undefined{.test}{}%
-  \Test\relax{.test}{}%
-  \Test{}{.test}{}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo}{.test}{.foo}%
-  \Test{.foo,.bar}{.test}{.foo,.bar}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo,.test}{.test}{.foo,.test}%
-  \Test{.test,.foo}{.test}{.test,.foo}%
-  \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}%
-  \Test{.foo}{.test,.bar}{.foo}%
-  \Test{.foo}{.test,.foo}{.foo}%
-  \DeclareGraphicsRule{.test}{test}{.test}{}%
-  \Test\@undefined{.test}{.test}%
-  \Test\relax{.test}{.test}%
-  \Test{}{.test}{.test}%
-  \Test{.foo}{.test}{.foo,.test}%
-  \Test{.foo,.bar}{.test}{.foo,.bar,.test}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo,.test}{.test}{.foo,.test}%
-  \Test{.test,.foo}{.test}{.foo,.test}%
-  \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}%
-  \Test{.foo}{.test,.bar}{.foo,.test}%
-  \Test{.foo}{.test,.foo}{.foo,.test}%
-  \DeclareGraphicsRule{.bar}{bar}{.bar}{}%
-  \Test{.foo}{.test,.bar}{.foo,.test,.bar}%
-  \Test{.bar}{.test,.bar}{.test,.bar}%
-  \Test{.bar}{.bar,.test}{.bar,.test}%
-\end{qstest}
-%    \end{macrocode}
-%
-% \subsubsection{Test for \cs{PrependGraphicsExtensions}}
-%
-%    \begin{macrocode}
-\begin{qstest}{PrependGraphicsExtensions}{PrependGraphicsExtensions}
-  \let\TestCmd\PrependGraphicsExtensions
-  \Test\@undefined{.test}{.test}%
-  \Test\relax{.test}{.test}%
-  \Test{}{.test}{.test}%
-  \Test{.foo}{.test}{.test,.foo}%
-  \Test{.foo,.bar}{.test}{.test,.foo,.bar}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo,.test}{.test}{.test,.foo}%
-  \Test{.test,.foo}{.test}{.test,.foo}%
-  \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}%
-  \Test{.foo}{.test,.bar}{.test,.bar,.foo}%
-  \Test{.foo}{.test,.foo}{.test,.foo}%
-  \Test{.foo}{ .test ,.bar , .x, .y }{.test,.bar,.x,.y,.foo}%
-  \def\TestCmd{\PrependGraphicsExtensions*}%
-  \Test\@undefined{.test}{}%
-  \Test\relax{.test}{}%
-  \Test{}{.test}{}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo}{.test}{.foo}%
-  \Test{.foo,.bar}{.test}{.foo,.bar}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo,.test}{.test}{.foo,.test}%
-  \Test{.test,.foo}{.test}{.test,.foo}%
-  \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}%
-  \DeclareGraphicsRule{.test}{test}{.test}{}%
-  \Test\@undefined{.test}{.test}%
-  \Test\relax{.test}{.test}%
-  \Test{}{.test}{.test}%
-  \Test{.foo}{.test}{.test,.foo}%
-  \Test{.foo,.bar}{.test}{.test,.foo,.bar}%
-  \Test{.test}{.test}{.test}%
-  \Test{.foo,.test}{.test}{.test,.foo}%
-  \Test{.test,.foo}{.test}{.test,.foo}%
-  \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}%
-  \Test{.foo}{.test,.bar}{.test,.foo}%
-  \Test{.foo}{.test,.foo}{.test,.foo}%
-  \DeclareGraphicsRule{.bar}{bar}{.bar}{}%
-  \Test{.foo}{.test,.bar}{.test,.bar,.foo}%
-  \Test{.bar}{.test,.bar}{.test,.bar}%
-  \Test{.bar}{.bar,.test}{.bar,.test}%
-\end{qstest}
-%    \end{macrocode}
-%
-% \subsubsection{Test for \cs{RemoveGraphicsExtensions}}
-%
-%    \begin{macrocode}
-\begin{qstest}{RemoveGraphicsExtensions}{RemoveGraphicsExtensions}
-  \let\TestCmd\RemoveGraphicsExtensions
-  \Test\@undefined{.test}{}%
-  \Test\relax{.test}{}%
-  \Test{}{.test}{}%
-  \Test{.foo}{.test}{.foo}%
-  \Test{.foo,.bar}{.test}{.foo,.bar}%
-  \Test{.test}{.test}{}%
-  \Test{.foo,.test}{.test}{.foo}%
-  \Test{.test,.foo}{.test}{.foo}%
-  \Test{.foo,.test,.bar}{.test}{.foo,.bar}%
-  \Test{.test,.test}{.test}{}%
-  \Test{.foo,.test,.bar,.test,.test,.bar}{.test}{.foo,.bar,.bar}%
-  \Test{.foo,.test,.bar,.foo,.test,.bar}{.test,.bar}{.foo,.foo}%
-  \Test{.foo,.test,.bar,.foo,.test,.bar}{ .test , .bar }{.foo,.foo}%
-\end{qstest}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\begin{document}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{grfext}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/grfext.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/grfext.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-%   |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
-% \begin{quote}
-%   \verb|tex grfext.dtx|
-% \end{quote}
-%
-% \paragraph{TDS.} Now the different files must be moved into
-% the different directories in your installation TDS tree
-% (also known as \xfile{texmf} tree):
-% \begin{quote}
-% \def\t{^^A
-% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-%   grfext.sty & tex/latex/oberdiek/grfext.sty\\
-%   grfext.pdf & doc/latex/oberdiek/grfext.pdf\\
-%   test/grfext-test1.tex & doc/latex/oberdiek/test/grfext-test1.tex\\
-%   test/grfext-test2.tex & doc/latex/oberdiek/test/grfext-test2.tex\\
-%   grfext.dtx & source/latex/oberdiek/grfext.dtx\\
-% \end{tabular}^^A
-% }^^A
-% \sbox0{\t}^^A
-% \ifdim\wd0>\linewidth
-%   \begingroup
-%     \advance\linewidth by\leftmargin
-%     \advance\linewidth by\rightmargin
-%   \edef\x{\endgroup
-%     \def\noexpand\lw{\the\linewidth}^^A
-%   }\x
-%   \def\lwbox{^^A
-%     \leavevmode
-%     \hbox to \linewidth{^^A
-%       \kern-\leftmargin\relax
-%       \hss
-%       \usebox0
-%       \hss
-%       \kern-\rightmargin\relax
-%     }^^A
-%   }^^A
-%   \ifdim\wd0>\lw
-%     \sbox0{\small\t}^^A
-%     \ifdim\wd0>\linewidth
-%       \ifdim\wd0>\lw
-%         \sbox0{\footnotesize\t}^^A
-%         \ifdim\wd0>\linewidth
-%           \ifdim\wd0>\lw
-%             \sbox0{\scriptsize\t}^^A
-%             \ifdim\wd0>\linewidth
-%               \ifdim\wd0>\lw
-%                 \sbox0{\tiny\t}^^A
-%                 \ifdim\wd0>\linewidth
-%                   \lwbox
-%                 \else
-%                   \usebox0
-%                 \fi
-%               \else
-%                 \lwbox
-%               \fi
-%             \else
-%               \usebox0
-%             \fi
-%           \else
-%             \lwbox
-%           \fi
-%         \else
-%           \usebox0
-%         \fi
-%       \else
-%         \lwbox
-%       \fi
-%     \else
-%       \usebox0
-%     \fi
-%   \else
-%     \lwbox
-%   \fi
-% \else
-%   \usebox0
-% \fi
-% \end{quote}
-% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
-% TDS installing feature, then some files can already be in the right
-% place, see the documentation of \docstrip.
-%
-% \subsection{Refresh file name databases}
-%
-% If your \TeX~distribution
-% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
-% these. For example, \TeX\,Live\ users run \verb|texhash| or
-% \verb|mktexlsr|.
-%
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-%   \verb|latex \let\install=y\input{grfext.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
-% line into this file, if you want to have A4 as paper format:
-% \begin{quote}
-%   \verb|\PassOptionsToClass{a4paper}{article}|
-% \end{quote}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex grfext.dtx
-%makeindex -s gind.ist grfext.idx
-%pdflatex grfext.dtx
-%makeindex -s gind.ist grfext.idx
-%pdflatex grfext.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{graphics}
-%   David Carlisle, Sebastian Rahtz: \textit{The \xpackage{graphics} package};
-%   2006/02/20 v1.0o;
-%   \CTAN{macros/latex/required/graphics/graphics.dtx}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2007/09/30 v1.0}
-%   \item
-%     First public version.
-%   \end{Version}
-%   \begin{Version}{2010/08/19 v1.1}
-%   \item
-%     User macros are also made available as keyval options for
-%     package \xpackage{graphicx}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.2}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hologo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hologo.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hologo.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -68,9 +68,6 @@
 %    TDS:tex/generic/oberdiek/hologo.sty
 %    TDS:doc/latex/oberdiek/hologo.pdf
 %    TDS:doc/latex/oberdiek/example/hologo-example.tex
-%    TDS:doc/latex/oberdiek/test/hologo-test1.tex
-%    TDS:doc/latex/oberdiek/test/hologo-test-spacefactor.tex
-%    TDS:doc/latex/oberdiek/test/hologo-test-list.tex
 %    TDS:source/latex/oberdiek/hologo.dtx
 %
 %<*ignore>
@@ -146,10 +143,6 @@
 %  \file{hologo-test1.tex}{\from{hologo.dtx}{test1}}%
 %  \file{hologo-test-spacefactor.tex}{\from{hologo.dtx}{test-spacefactor}}%
 %  \file{hologo-test-list.tex}{\from{hologo.dtx}{test-list}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hologo.xml}{\from{hologo.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -192,21 +185,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hologo.drv}
 %
@@ -4455,251 +4433,8 @@
 \HOLOGO at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input hologo.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Spacefactor}
-%
-%    The space factor must be 1000 after a logo. If it is greater 1000
-%    then the following space is a space after a sentence closing point.
-%    If the space factor is smaller 1000 then an immediate following
-%    dot is interpreted as abbreviation, not sentence closing point.
-%
-%    \begin{macrocode}
-%<*test-spacefactor>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{hologo}[2017/05/01]
-\usepackage{kvsetkeys}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
-\begin{qstest}{spacefactor}{spacefactor}
-\newcommand*{\Test}[1]{%
-  \sbox0{%
-    \hologo{#1}%
-    \Expect*{1000 (#1)}*{\the\spacefactor\space(#1)}%
-  }%
-}%
-\makeatletter
-\def\TestList{}
-\def\hologoEntry#1#2#3{%
-  \edef\TestList{%
-    \ifx\TestList\@empty
-    \else
-      \TestList,%
-    \fi
-    #1%
-    \ifx\\#2\\%
-    \else
-      ={variant=#2}%
-    \fi
-  }%
-}
-\hologoList
-\expandafter\kv at parse@normalized\expandafter{%
-  \TestList
-}{%
-  \begingroup
-    \let\@logo=\kv at key
-    \ifx\kv at value\relax
-    \else
-      \expandafter\hologoLogoSetup\expandafter\@logo\expandafter{%
-        \kv at value
-      }%
-    \fi
-    \Test\@logo
-  \endgroup
-  \@gobbletwo
-}
-\end{qstest}
-\end{document}
-%</test-spacefactor>
-%    \end{macrocode}
-%
-% \subsection{Complete list}
-%
-%    \begin{macrocode}
-%<*test-list>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass[12pt,a4paper]{article}
-\usepackage{hologo}[2017/05/01]
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{parskip}
-\usepackage[unicode]{hyperref}[2011/09/28]
-\usepackage{bookmark}[2011/09/19]
-\bookmarksetup{%
-  numbered,%
-  open,%
-  openlevel=2,%
-}
-\renewcommand*{\contentsname}{List of logos}
-\begin{document}
-\tableofcontents
-\def\TestFont#1#2#3#4#5#6{%
-  \begingroup
-    \usefont{#3}{#4}{#5}{#6}%
-    \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2}%
-    \quad
-    \begingroup\scriptsize\hologoVariant{#1}{#2}\endgroup
-    \quad
-  \endgroup
-  (#3/#4/#5/#6)%
-  \par
-}
-\makeatletter
-\def\hologoEntry#1#2#3{%
-  \section{%
-    \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2} %
-    {[#1\ifx\\#2\\\else\space(#2)\fi]}% hash-ok
-  }% braces around [] because of bug in tex4ht
-  \begingroup
-    \hypersetup{unicode=false}%
-    \bookmark[%
-      dest=\@currentHref,%
-      rellevel=1,%
-      keeplevel,%
-    ]{%
-      \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2} %
-      (PDFDocEncoding)%
-    }%
-  \endgroup
-  \TestFont{#1}{#2}{OT1}{cmr}{m}{n}%
-  \TestFont{#1}{#2}{OT1}{cmss}{m}{n}%
-  \TestFont{#1}{#2}{OT1}{cmr}{b}{n}%
-  \TestFont{#1}{#2}{OT1}{cmr}{m}{it}%
-  \TestFont{#1}{#2}{OT1}{cmtt}{m}{n}%
-  \TestFont{#1}{#2}{T1}{lmr}{m}{n}%
-  \TestFont{#1}{#2}{T1}{lmss}{m}{n}%
-  \TestFont{#1}{#2}{T1}{lmr}{b}{n}%
-  \TestFont{#1}{#2}{T1}{lmr}{m}{it}%
-  \TestFont{#1}{#2}{T1}{lmtt}{m}{n}%
-  \TestFont{#1}{#2}{T1}{lmvtt}{m}{n}%
-  \TestFont{#1}{#2}{T1}{qtm}{m}{n}%
-  \TestFont{#1}{#2}{T1}{qhv}{m}{n}%
-  \TestFont{#1}{#2}{T1}{qtm}{b}{n}%
-  \TestFont{#1}{#2}{T1}{qtm}{m}{it}%
-  \TestFont{#1}{#2}{T1}{qcr}{m}{n}%
-  \newpage
-}
-\makeatother
-\hologoList
-\end{document}
-%</test-list>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -4748,9 +4483,6 @@
 %   hologo.sty & tex/generic/oberdiek/hologo.sty\\
 %   hologo.pdf & doc/latex/oberdiek/hologo.pdf\\
 %   example/hologo-example.tex & doc/latex/oberdiek/example/hologo-example.tex\\
-%   test/hologo-test1.tex & doc/latex/oberdiek/test/hologo-test1.tex\\
-%   test/hologo-test-spacefactor.tex & doc/latex/oberdiek/test/hologo-test-spacefactor.tex\\
-%   test/hologo-test-list.tex & doc/latex/oberdiek/test/hologo-test-list.tex\\
 %   hologo.dtx & source/latex/oberdiek/hologo.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{holtxdoc.drv}{\from{holtxdoc.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{holtxdoc.sty}{\from{holtxdoc.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{holtxdoc.xml}{\from{holtxdoc.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{holtxdoc.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hopatch.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hopatch.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hopatch.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -63,8 +63,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/hopatch.sty
 %    TDS:doc/latex/oberdiek/hopatch.pdf
-%    TDS:doc/latex/oberdiek/test/hopatch-test1.tex
-%    TDS:doc/latex/oberdiek/test/hopatch-test2.tex
 %    TDS:source/latex/oberdiek/hopatch.dtx
 %
 %<*ignore>
@@ -133,10 +131,6 @@
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{hopatch-test1.tex}{\from{hopatch.dtx}{test1}}%
 %  \file{hopatch-test2.tex}{\from{hopatch.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hopatch.xml}{\from{hopatch.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -177,21 +171,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hopatch.drv}
 %
@@ -517,177 +496,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{hopatch}[2016/05/16]}
-%</test1>
-%    \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input hopatch.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\providecommand\variant{0}
-\RequirePackage{filecontents}
-\begin{filecontents}{foo.sty}
-\ProvidesPackage{foo}
-\def\msg#{\immediate\write16}
-\def\foo#1{%
-  \msg{\fooformat{#1}}%
-}
-\def\fooformat#1{[#1]}% hash-ok
-\foo{* Executing foo at package loading}
-\end{filecontents}
-
-\ifnum\variant=1 %
-  \documentclass{memoir}%
-\else
-  \documentclass{article}%
-\fi
-
-\ifcase\variant\relax
-\or % 1
-\or % 2
-  \usepackage{etoolbox}%
-\or % 3
-  \usepackage{scrlfile}%
-\or % 4
-  \usepackage{filehook}%
-\fi
-
-\AtBeginDocument{\foo{* AtBeginDocument before hopatch}}
-\usepackage{hopatch}
-\AtBeginDocument{\foo{* AtBeginDocument after hopatch}}
-
-\makeatletter
-\hopatch at AfterPackage{foo}{%
-  \def\fooformat#1{<<#1>>}%
-}
-\makeatother
-
-\AtBeginDocument{\foo{* AtBeginDocument before foo}}
-\usepackage{foo}
-\AtBeginDocument{\foo{* AtBeginDocument after foo}}
-
-\foo{* Executing in preamble}
-
-\begin{document}
-\foo{* Executing in document}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -735,8 +545,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   hopatch.sty & tex/latex/oberdiek/hopatch.sty\\
 %   hopatch.pdf & doc/latex/oberdiek/hopatch.pdf\\
-%   test/hopatch-test1.tex & doc/latex/oberdiek/test/hopatch-test1.tex\\
-%   test/hopatch-test2.tex & doc/latex/oberdiek/test/hopatch-test2.tex\\
 %   hopatch.dtx & source/latex/oberdiek/hopatch.dtx\\
 % \end{tabular}^^A
 % }^^A
@@ -854,31 +662,31 @@
 % Philipp Lehman:
 % \textit{The etoolbox Package}
 % 2011-01-03.
-% \CTAN{macros/latex/contrib/etoolbox/etoolbox.pdf}
+% \CTANpkg{etoolbox}
 %
 % \bibitem{filehook}
 % Martin Scharrer:
 % \textit{The filehook Package};
 % 2011-01-09.
-% \CTAN{macros/latex/contrib/filehook/filehook.pdf}
+% \CTANpkg{filehook}
 %
 % \bibitem{ltxcmds}
 % Heiko Oberdiek:
 % \textit{The ltxcmds Package};
 % 2010-12-12.
-% \CTAN{macros/latex/contrib/oberdiek/ltxcmds.pdf}
+% \CTANpkg{ltxcmds}
 %
 % \bibitem{memoir}
 % Peter Wilson, Lars Madsen:
 % \textit{The Memoir Class for Configurable Typesetting, User Guide};
 % 2010.
-% \CTAN{macros/latex/contrib/memoir/memman.pdf}
+% \CTANpkg{memoir}
 %
 % \bibitem{scrlfile}
 % Markus Kohm, Jens-Uwe Morawski:
 % \textit{The Guide KOMA-Script};
 % 2011-01-20.
-% \CTAN{macros/latex/contrib/koma-script/scrguien.pdf}
+% \CTANpkg{koma-script}
 %
 % \end{thebibliography}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,13 +67,6 @@
 %    TDS:tex/latex/oberdiek/hycolor.sty
 %    TDS:tex/latex/oberdiek/xcolor-patch.sty
 %    TDS:doc/latex/oberdiek/hycolor.pdf
-%    TDS:doc/latex/oberdiek/test/hycolor-test1.tex
-%    TDS:doc/latex/oberdiek/test/hycolor-test2.tex
-%    TDS:doc/latex/oberdiek/test/hycolor-test3.tex
-%    TDS:doc/latex/oberdiek/test/hycolor-test-xcol1.tex
-%    TDS:doc/latex/oberdiek/test/hycolor-test-xcol2.tex
-%    TDS:doc/latex/oberdiek/test/hycolor-test-xcol3.tex
-%    TDS:doc/latex/oberdiek/test/hycolor-test-xcol4.tex
 %    TDS:source/latex/oberdiek/hycolor.dtx
 %
 %<*ignore>
@@ -151,10 +144,6 @@
 %  \file{hycolor-test-xcol2.tex}{\from{hycolor.dtx}{test-xcolor,xcol2}}%
 %  \file{hycolor-test-xcol3.tex}{\from{hycolor.dtx}{test-xcolor,xcol3}}%
 %  \file{hycolor-test-xcol4.tex}{\from{hycolor.dtx}{test-xcolor-fbox}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hycolor.xml}{\from{hycolor.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -226,21 +215,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hycolor.drv}
 %
@@ -1443,527 +1417,8 @@
 %    \begin{macrocode}
 %</xcolor>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    \begin{macrocode}
-%<*test1>
-\ProvidesFile{hycolor-test1.tex}[2016/05/16 test file 1]
-%</test1>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test2>
-\ProvidesFile{hycolor-test2.tex}[2016/05/16 test file 2]
-\let\pdfmatch\relax
-%</test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<test3>\ProvidesFile{hycolor-test3.tex}[2016/05/16 test file 3]
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test>
-%    \end{macrocode}
-%    \begin{macrocode}
-\documentclass{article}
-
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\makeatletter
-
-\newcommand*{\TestPackageName}{test-package}
-\newcommand*{\TestOptionName}{test-option}
-
-\newcommand\Message{}
-\def\Message#1#{\immediate\write16}
-
-\newcommand*{\ExpectError}[2]{%
-  \begingroup
-    \global\let\saved at errhelp\errhelp
-    \global\let\saved at errmessage\errmessage
-    \let\errhelp\@gobble
-    \def\errmessage##1{%
-      \xdef\@ExpectErrorMessage{##1}%
-    }%
-    \PackageError\TestPackageName{#1}\@ehc
-    \def\errhelp##1{%
-      \global\let\errhelp\saved at errhelp
-    }%
-    \global\let\@ResultErrorMessage\@empty
-    \def\errmessage##1{%
-      \xdef\@ResultErrorMessage{##1}%
-      \global\let\errmessage\saved at errmessage
-      % \Message{[ ##1}%
-      % \Message{] (ignored error)}%
-      % \Message{}%
-    }%
-    #2%
-  \endgroup
-  \Expect*{\@ResultErrorMessage}*{\@ExpectErrorMessage}%
-}
-\usepackage{scrlfile}
-\usepackage{hycolor}[2016/05/16]
-%</test>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test1>
-\begin{qstest}{NumNormalize}{num, normalize}
-  \def\test#1#2{%
-    \HyColor at NormalizeNum{#1}\cmd
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{0}{0}%
-  \test{000}{0}%
-  \test{-1}{0}%
-  \test{ 0 }{0}%
-  \test{1.1}{1}%
-  \test{100}{1}%
-  \test{00100}{1}%
-  \test{99.99}{1}%
-  \test{0.0}{0}%
-  \test{00.00}{0}%
-  \test{0.}{0}%
-  \test{.0}{0}%
-  \test{0.1}{.1}%
-  \test{0.10}{.1}%
-  \test{0.1000}{.1}%
-  \test{.1000}{.1}%
-  \test{0.01}{.01}%
-  \test{0.01010}{.0101}%
-  \test{.0000000001}{.0000000001}%
-  \test{.9999999999}{.9999999999}%
-\end{qstest}
-
-\begin{qstest}{BookmarkColor without xcolor}{bookmark, noxcolor}
-  \def\test#1#2{%
-    \HyColor at BookmarkColor{#1}\cmd\TestPackageName\TestOptionName
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{[rgb]{1,0,0}}{1 0 0}%
-  \test{[gray]{0.10}}{.1 .1 .1}%
-  \test{}{}%
-  \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
-  \def\errortest[#1]#2{%
-    \ExpectError{%
-      Color model `#1' is not supported\MessageBreak
-      without package `xcolor' in\MessageBreak
-      `\TestOptionName=[#1]{#2}'% hash-ok
-    }{%
-      \test{[#1]{#2}}{}% hash-ok
-    }%
-  }%
-  \errortest[cmyk]{1,0,0,0}%
-  \errortest[empty]{}%
-  \def\errortest#1{%
-    \ExpectError{%
-      This color specification is not supported\MessageBreak
-      without package `xcolor' in\MessageBreak
-      `\TestOptionName=#1'%
-    }{%
-      \test{#1}{}%
-    }%
-  }%
-\end{qstest}
-%</test1>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test1|test2>
-\begin{qstest}{X0134 without xcolor}{X0134, noxcolor}
-  \def\test#1#2{%
-    \HyColor at XZeroOneThreeFour{#1}\cmd\TestPackageName\TestOptionName
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{[empty]{}}{}%
-  \test{[rgb]{1,0,0}}{1 0 0}%
-  \test{[gray]{0.10}}{.1}%
-  \test{[cmyk]{0,1,0,0}}{0 1 0 0}%
-  \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
-  \def\errortest[#1]#2{%
-    \ExpectError{%
-      Color model `#1' is not supported\MessageBreak
-      without package `xcolor' in\MessageBreak
-      `test-option=[#1]{#2}'% hash-ok
-    }{%
-      \HyColor at XZeroOneThreeFour{[{#1}]{#2}}\cmd
-          \TestPackageName\TestOptionName
-      \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-    }%
-  }%
-  \errortest[Gray]{10}%
-  \errortest[cmy]{1,0,0}%
-  \def\errortest#1{%
-    \ExpectError{%
-      This color specification is not supported\MessageBreak
-      without package `xcolor' in\MessageBreak
-      `test-option=#1'%
-    }{%
-      \HyColor at XZeroOneThreeFour{#1}\cmd\TestPackageName\TestOptionName
-      \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-    }%
-  }%
-  \errortest{yellow}%
-\end{qstest}
-
-\begin{qstest}{HyperrefBorderColor without xcolor}%
-              {hyperef bordercolor, noxcolor}%
-  \def\test#1#2{%
-    \HyColor at HyperrefBorderColor{#1}\cmd\TestPackageName\TestOptionName
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{[rgb]{1,0,0}}{1 0 0}%
-  \test{[gray]{0.10}}{.1 .1 .1}%
-  \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
-  \def\errortest[#1]#2{%
-    \ExpectError{%
-      Color model `#1' is not supported\MessageBreak
-      without package `xcolor' in\MessageBreak
-      `test-option=[#1]{#2}'% hash-ok
-    }{%
-      \HyColor at HyperrefBorderColor{[{#1}]{#2}}\cmd
-          \TestPackageName\TestOptionName
-      \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-    }%
-  }%
-  \errortest[Gray]{10}%
-  \errortest[cmy]{1,0,0}%
-  \errortest[cmyk]{0,1,0,0}%
-  \def\errortest#1{%
-    \ExpectError{%
-      This color specification is not supported\MessageBreak
-      without package `xcolor' in\MessageBreak
-      `test-option=#1'%
-    }{%
-      \HyColor at HyperrefBorderColor{#1}\cmd
-          \TestPackageName\TestOptionName
-      \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-    }%
-  }%
-  \errortest{yellow}%
-\end{qstest}
-%</test1|test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test1|test2>
-\usepackage{xcolor}
-\definecolor[named]{MyGreen}{rgb}{0,0.7,0}
-\definecolor{mygreen}{named}{MyGreen}
-%</test1|test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test1>
-\begin{qstest}{BookmarkColor with xcolor}{bookmark, xcolor}
-  \def\test#1#2{%
-    \HyColor at BookmarkColor{#1}\cmd\PackageName\OptionName
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{[rgb]{1,0,0}}{1 0 0}%
-  \test{[gray]{0.10}}{.1 .1 .1}%
-  \test{}{}%
-  \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
-  \test{[cmyk]{1,0,0,0}}{0 1 1}%
-  \test{red}{1 0 0}%
-  \test{cyan}{0 1 1}%
-  \test{red!40!blue}{.4 0 .6}%
-  \test{[Gray]{10}}{.66667 .66667 .66667}%
-  \test{[RGB]{100,200,50}}{.39217 .78432 .19609}%
-  \test{[wave]{363}}{.00316 0 .00316}%
-  \test{[wave]814}{.00797 0 0}%
-  \test{[HSB]{100,200,50}}{.03473 .20833 .12152}%
-  \test{[HTML]{A800FF}}{.65881 0 1}%
-  \test{[cmy]{.3,.5,.2}}{.7 .5 .8}%
-  \test{[cmyk]{.3,.5,.2,.1}}{.6 .4 .7}%
-  \test{[hsb]{.3,.5,.2}}{.12 .2 .1}%
-  \test{[Hsb]{120,.5,.2}}{.1 .2 .1}%
-  \test{[tHsb]{120,.5,.2}}{.2 .2 .1}%
-  \test{[named]{MyGreen}}{0 .7 0}%
-  \test{mygreen}{0 .7 0}%
-\end{qstest}
-
-\begin{qstest}{HyperrefColor}{hyperref, color}
-  \def\test#1#2{%
-    \HyColor at HyperrefColor{#1}\cmd
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{red}{red}%
-  \test{[rgb]{1,0,0}}{[{rgb}]{1,0,0}}%
-  \HyColor at HyperrefColor{}\cmd
-  \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-\end{qstest}
-%</test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*test1|test2>
-\begin{qstest}{X0134 with xcolor}{hyperref, X0134, xcolor}
-  \def\test#1#2{%
-    \HyColor at XZeroOneThreeFour{#1}\cmd\PackageName\OptionName
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{[empty]{}}{}%
-  \test{[gray]{0.1}}{.1}%
-  \test{[rgb]{1,0.5,0.0}}{1 .5 0}%
-  \test{[cmyk]{0,1,0,0.5}}{0 1 0 .5}%
-  \test{[Gray]{10}}{.66667}%
-  \test{red}{1 0 0}%
-  \test{1 0 0}{1 0 0}%
-  \test{001.0 .23 0}{1 .23 0}%
-  \test{[named]{MyGreen}}{0 .7 0}%
-  \test{mygreen}{0 .7 0}%
-  \HyColor at XZeroOneThreeFour{}\cmd\PackageName\OptionName
-  \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-\end{qstest}
-
-\begin{qstest}{FieldColor}{hyperref, field, FieldColor}
-  \def\test#1#2{%
-    \HyColor at FieldColor{#1}\cmd\PackageName\OptionName
-    \Expect*{\cmd}{#2}%
-  }%
-  \test{}{}%
-  \test{[gray]{0.7}}{.7 g}%
-  \test{[rgb]{1,0,0}}{1 0 0 rg}%
-  \test{[cmyk]{0,1,0,0}}{0 1 0 0 k}%
-  \test{[cmy]{.5,.4,.3}}{.5 .6 .7 rg}%
-\end{qstest}
-%</test1|test2>
-%    \end{macrocode}
-%
-% \subsection{Test for package \xpackage{attachfile2}}
-%
-%    \begin{macrocode}
-%<*test3>
-\def\atfi at SETRGBCOLORtest{set-rgb}
-\def\atfi at SETGRAYCOLORtest{set-gray}
-\def\atfi at SETCMYKCOLORtest{set-cmyk}
-\def\Test#1#2#3#4#5{%
-  \begingroup
-    \setbox0=\hbox{%
-      \begingroup
-        \chardef\HyColor at PdfVersion=6 %
-        \HyColor at AttachfileColor{#1}\spec\inlinemacro\annot
-            \TestPackageName\TestOptionName
-        \edef\inline{\inlinemacro{test}}%
-        \expandafter\Expect\expandafter{\spec}{#2}%
-        \expandafter\Expect\expandafter{\inline}{#3}%
-        \expandafter\Expect\expandafter{\annot}{#4}%
-      \endgroup
-      \begingroup
-        \chardef\HyColor at PdfVersion=7 %
-        \HyColor at AttachfileColor{#1}\spec\inlinemacro\annot
-            \TestPackageName\TestOptionName
-        \edef\inline{\inlinemacro{test}}%
-        \expandafter\Expect\expandafter{\spec}{#2}%
-        \expandafter\Expect\expandafter{\inline}{#3}%
-        \expandafter\Expect\expandafter{\annot}{#5}%
-      \endgroup
-    }%
-    \Expect*{\the\wd0}{0.0pt}%
-  \endgroup
-}
-\newif\ifError
-\def\TestError[#1]#2#3#4#5#6{%
-  \begingroup
-    \global\Errorfalse
-    \let\OrgPackageError\PackageError
-    \def\PackageError##1##2##3{%
-      \edef\TestTemp{##1}%
-      \ifx\TestTemp\TestPackageName
-        \Expect*{\ifError too many errors\else ok\fi}{ok}%
-        \Expect*{#6}*{##2}%
-        \global\Errortrue
-      \else
-        \OrgPackageError{##1}{##2}{##3}%
-      \fi
-    }%
-    \setbox0=\hbox{%
-      \begingroup
-        \chardef\HyColor at PdfVersion=#1 %
-        \HyColor at AttachfileColor{#2}\spec\inlinemacro\annot
-            \TestPackageName\TestOptionName
-        \edef\inline{\inlinemacro{test}}%
-        \expandafter\Expect\expandafter{\spec}{#3}%
-        \expandafter\Expect\expandafter{\inline}{#4}%
-        \expandafter\Expect\expandafter{\annot}{#5}%
-      \endgroup
-      \ifx\\#6\\%
-      \else
-        \Expect*{\ifError ok\else missing error\fi}{ok}%
-      \fi
-    }%
-    \Expect*{\the\wd0}{0.0pt}%
-  \endgroup
-}
-\def\NoEmptyModel{%
-  Color model `empty' is not permitted for option `\TestOptionName'%
-}
-\def\ModelNoXcolor#1#2{%
-  Color model `#1' is not supported\MessageBreak
-  without package `xcolor' in\MessageBreak
-  `\TestOptionName=[#1]{#2}'% hash-ok
-}
-\def\SpecNoXColor#1{%
-  This color specification is not supported\MessageBreak
-  without package `xcolor' in\MessageBreak
-  `test-option=#1'%
-}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\begin{qstest}{AttachfileColor}{AttachfileColor}
-  \Test{}{}{}{}{}%
-  \Test{0.1 0.2 0.3}{[rgb]{.1,.2,.3}}{.1 .2 .3 set-rgb}%
-       {/C[.1 .2 .3]}{/C[.1 .2 .3]}%
-  \Test{[gray]{0.4}}{[gray]{0.4}}{.4 set-gray}%
-       {/C[.4 .4 .4]}{/C[.4]}%
-  \Test{[rgb]{0.3,.2,.1}}{[rgb]{0.3,.2,.1}}{.3 .2 .1 set-rgb}%
-       {/C[.3 .2 .1]}{/C[.3 .2 .1]}%
-  \Test{0.0 1.0 1}{[rgb]{0,1,1}}{0 1 1 set-rgb}%
-       {/C[0 1 1]}{/C[0 1 1]}%
-  \Test{[gray]1}{[gray]1}{1 set-gray}{/C[1 1 1]}{/C[1]}%
-  \TestError[6]{[empty]{}}{}{}{}\NoEmptyModel
-  \TestError[7]{[empty]{}}{}{}{}\NoEmptyModel
-  \TestError[6]{[cmyk]{.1,.2,.3,.4}}{[cmyk]{.1,.2,.3,.4}}%
-            {.1 .2 .3 .4 set-cmyk}{}%
-            {\ModelNoXcolor{cmyk}{.1,.2,.3,.4}}%
-  \TestError[7]{[cmyk]{.1,.2,.3,.4}}{[cmyk]{.1,.2,.3,.4}}%
-            {.1 .2 .3 .4 set-cmyk}{/C[.1 .2 .3 .4]}{}%
-  \TestError[6]{red}{red}{}{}{\SpecNoXColor{red}}%
-  \TestError[7]{red}{red}{}{}{\SpecNoXColor{red}}%
-\end{qstest}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\usepackage{xcolor}
-\definecolor[named]{MyGreen}{rgb}{0,0.7,0}
-\definecolor{mygreen}{named}{MyGreen}
-\definecolor{graynine}{gray}{0.9}
-\definecolor{GraySix}{Gray}{9}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\begin{qstest}{AttachfileColorX}{AttachfileColorX}
-  \Test{}{}{}{}{}%
-  \Test{0.1 0.2 0.3}{[rgb]{.1,.2,.3}}{.1 .2 .3 set-rgb}%
-       {/C[.1 .2 .3]}{/C[.1 .2 .3]}%
-  \Test{[gray]{0.4}}{[gray]{0.4}}{.4 set-gray}%
-       {/C[.4 .4 .4]}{/C[.4]}%
-  \Test{[rgb]{0.3,.2,.1}}{[rgb]{0.3,.2,.1}}{.3 .2 .1 set-rgb}%
-       {/C[.3 .2 .1]}{/C[.3 .2 .1]}%
-  \Test{0.0 1.0 1}{[rgb]{0,1,1}}{0 1 1 set-rgb}%
-       {/C[0 1 1]}{/C[0 1 1]}%
-  \Test{[gray]1}{[gray]1}{1 set-gray}{/C[1 1 1]}{/C[1]}%
-  \Test{red}{red}{1 0 0 set-rgb}{/C[1 0 0]}{/C[1 0 0]}%
-  \Test{black}{black}{0 set-gray}{/C[0 0 0]}{/C[0]}%
-  \Test{cyan}{cyan}{1 0 0 0 set-cmyk}{/C[0 1 1]}{/C[1 0 0 0]}%
-  \Test{[named]{black}}{[named]{black}}{0 0 0 set-rgb}%
-       {/C[0 0 0]}{/C[0 0 0]}%
-  \Test{[Gray]{9}}{[Gray]{9}}{.6 set-gray}{/C[.6 .6 .6]}{/C[.6]}%
-  \Test{[HTML]{0080FF}}{[HTML]{0080FF}}{0 .50195 1 set-rgb}%
-       {/C[0 .50195 1]}{/C[0 .50195 1]}%
-  \Test{graynine}{graynine}{.9 set-gray}{/C[.9 .9 .9]}{/C[.9]}%
-  \Test{GraySix}{GraySix}{.6 set-gray}{/C[.6 .6 .6]}{/C[.6]}%
-  \Test{[wave]{500}}{[wave]{500}}{0 1 .49846 set-rgb}%
-       {/C[0 1 .49846]}{/C[0 1 .49846]}%
-  \TestError[6]{[empty]{}}{}{}{}\NoEmptyModel
-  \TestError[7]{[empty]{}}{}{}{}\NoEmptyModel
-\end{qstest}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</test3>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test>
-\begin{document}
-\end{document}
-%</test>
-%    \end{macrocode}
-%
-% \subsection{Test for package \xpackage{xcolor}}
-%
-%    \begin{macrocode}
-%<*test-xcolor>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-%<*xcol1>
-\usepackage{xcolor}
-\usepackage{xcolor-patch}[2016/05/16]
-%</xcol1>
-%<*xcol2>
-\usepackage{scrlfile}
-\usepackage{xcolor-patch}[2016/05/16]
-\usepackage{xcolor}
-%</xcol2>
-%<*xcol3>
-\usepackage{xcolor-patch}[2016/05/16]
-\usepackage{xcolor}
-\begin{document}
-%</xcol3>
-\makeatletter
-\newcommand*{\ColModList}{%
-  rgb,%
-  cmy,%
-  cmyk,%
-  hsb,%
-  Hsb,%
-  tHsb,%
-  gray,%
-  RGB,%
-  HTML,%
-  HSB,%
-  Gray,%
-  % wave,
-}
-\newcommand*{\StartModel}{rgb}
-\newcommand*{\StartValues}{.1,.2,.3}
-\@for\x:=\ColModList\do{%
-  \ifx\x\@empty
-  \else
-    \convertcolorspec\StartModel\StartValues\x\y
-    \typeout{* [\StartModel]{\StartValues} ==> [\x]{\y}}%
-    \@for\xx:=\ColModList\do{%
-      \ifx\xx\@empty
-      \else
-        \convertcolorspec\x\y\xx\yy
-        \typeout{* [\x]{\y} ==> [\xx]{\yy}}%
-      \fi
-    }%
-  \fi
-}
-%<xcol3>\end{document}
-%<xcol1|xcol2>\@@end
-%</test-xcolor>
-%    \end{macrocode}
-%
-% \subsubsection{Test for \cs{@frameb at x}/\cs{fbox}}
-%
-%    \begin{macrocode}
-%<*test-xcolor-fbox>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{xcolor-patch}[2016/05/16]
-\makeatletter
-\protected at edef\x{\fbox{abc}}
-\let\@tempa\@undefined
-\protected at edef\x{\fbox{abc}}
-\makeatother
-\begin{document}
-\MakeUppercase{\fbox{abc}}
-\end{document}
-%</test-xcolor-fbox>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -2012,13 +1467,6 @@
 %   hycolor.sty & tex/latex/oberdiek/hycolor.sty\\
 %   xcolor-patch.sty & tex/latex/oberdiek/xcolor-patch.sty\\
 %   hycolor.pdf & doc/latex/oberdiek/hycolor.pdf\\
-%   test/hycolor-test1.tex & doc/latex/oberdiek/test/hycolor-test1.tex\\
-%   test/hycolor-test2.tex & doc/latex/oberdiek/test/hycolor-test2.tex\\
-%   test/hycolor-test3.tex & doc/latex/oberdiek/test/hycolor-test3.tex\\
-%   test/hycolor-test-xcol1.tex & doc/latex/oberdiek/test/hycolor-test-xcol1.tex\\
-%   test/hycolor-test-xcol2.tex & doc/latex/oberdiek/test/hycolor-test-xcol2.tex\\
-%   test/hycolor-test-xcol3.tex & doc/latex/oberdiek/test/hycolor-test-xcol3.tex\\
-%   test/hycolor-test-xcol4.tex & doc/latex/oberdiek/test/hycolor-test-xcol4.tex\\
 %   hycolor.dtx & source/latex/oberdiek/hycolor.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{hypbmsec.drv}{\from{hypbmsec.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{hypbmsec.sty}{\from{hypbmsec.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hypbmsec.xml}{\from{hypbmsec.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hypbmsec.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hypcap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hypcap.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hypcap.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{hypcap.drv}{\from{hypcap.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{hypcap.sty}{\from{hypcap.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hypcap.xml}{\from{hypcap.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hypcap.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{hypdestopt.drv}{\from{hypdestopt.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{hypdestopt.sty}{\from{hypdestopt.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hypdestopt.xml}{\from{hypdestopt.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hypdestopt.drv}
 %
@@ -928,7 +909,7 @@
 % \bibitem{alphalph}
 %   Heiko Oberdiek: \textit{The \xpackage{alphalph} package};
 %   2006/05/30 v1.4;
-%   \CTAN{macros/latex/contrib/oberdiek/alphalph.pdf}.
+%   \CTANpkg{alphalph}.
 %
 % \bibitem{hyperref}
 %   Sebastian Rahtz, Heiko Oberdiek:

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{hypdoc.drv}{\from{hypdoc.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{hypdoc.sty}{\from{hypdoc.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hypdoc.xml}{\from{hypdoc.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hypdoc.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -131,10 +131,6 @@
   \file{hypgotoe.sty}{\from{hypgotoe.dtx}{package}}%
   \usedir{doc/latex/oberdiek}%
   \file{hypgotoe-example.tex}{\from{hypgotoe.dtx}{example}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hypgotoe.xml}{\from{hypgotoe.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +167,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hypgotoe.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,8 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/hyphsubst.sty
 %    TDS:doc/latex/oberdiek/hyphsubst.pdf
-%    TDS:doc/latex/oberdiek/test/hyphsubst-test1.tex
-%    TDS:doc/latex/oberdiek/test/hyphsubst-test2.tex
 %    TDS:source/latex/oberdiek/hyphsubst.dtx
 %
 %<*ignore>
@@ -139,10 +137,6 @@
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{hyphsubst-test1.tex}{\from{hyphsubst.dtx}{test1}}%
 %  \file{hyphsubst-test2.tex}{\from{hyphsubst.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{hyphsubst.xml}{\from{hyphsubst.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -179,21 +173,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{hyphsubst.drv}
 %
@@ -581,156 +560,8 @@
 \HyphSubst at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input hyphsubst.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-%
-% \subsection{Main tests}
-%
-%    \begin{macrocode}
-%<*test2>
-\input hyphsubst.sty\relax
-
-\catcode`\@=11\relax
-\ifx\et at xlang\@undefined
-  \def\l#1{\csname l@#1\endcsname}%
-\else
-  \def\l#1{\csname lang@#1\endcsname}%
-\fi
-\def\Check#1#2{%
-  \ifnum#1=#2\relax
-  \else
-    \@PackageError{test}{Wrong number: #1 <> #2}\@ehc
-  \fi
-}
-
-\language=0\relax
-\HyphSubstLet{ZeroSaved}{ngerman}
-\Check{\l{USenglish}}{0}%
-\HyphSubstLet{USenglish}{ngerman}
-\Check{\l{USenglish}}{\l{ngerman}}
-\ifnum\l{USenglish}>0 %
-\else
-  \@PackageError{test}{\string\language\space is not updated}\@ehc
-\fi
-\HyphSubstLet{german}{ngerman}
-\Check{\l{german}}{\l{ngerman}}
-\Check{\l{USenglish}}{\l{ngerman}}
-\csname @@end\endcsname\end
-%</test2>
-%    \end{macrocode}
-%
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -778,8 +609,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   hyphsubst.sty & tex/generic/oberdiek/hyphsubst.sty\\
 %   hyphsubst.pdf & doc/latex/oberdiek/hyphsubst.pdf\\
-%   test/hyphsubst-test1.tex & doc/latex/oberdiek/test/hyphsubst-test1.tex\\
-%   test/hyphsubst-test2.tex & doc/latex/oberdiek/test/hyphsubst-test2.tex\\
 %   hyphsubst.dtx & source/latex/oberdiek/hyphsubst.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{ifdraft.drv}{\from{ifdraft.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{ifdraft.sty}{\from{ifdraft.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{ifdraft.xml}{\from{ifdraft.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{ifdraft.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/iflang.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/iflang.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/iflang.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,11 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/iflang.sty
 %    TDS:doc/latex/oberdiek/iflang.pdf
-%    TDS:doc/latex/oberdiek/test/iflang-test1.tex
-%    TDS:doc/latex/oberdiek/test/iflang-test2.tex
-%    TDS:doc/latex/oberdiek/test/iflang-test3.tex
-%    TDS:doc/latex/oberdiek/test/iflang-test4.tex
-%    TDS:doc/latex/oberdiek/test/iflang-test5.tex
 %    TDS:source/latex/oberdiek/iflang.dtx
 %
 %<*ignore>
@@ -147,10 +142,6 @@
 %  \file{iflang-test3.tex}{\from{iflang.dtx}{test3}}%
 %  \file{iflang-test4.tex}{\from{iflang.dtx}{test4}}%
 %  \file{iflang-test5.tex}{\from{iflang.dtx}{test5}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{iflang.xml}{\from{iflang.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -187,21 +178,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{iflang.drv}
 %
@@ -677,320 +653,8 @@
 \IfLang at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input iflang.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Test with \LaTeX}
-%
-%    \begin{macrocode}
-%<*test2|test3>
-%    \end{macrocode}
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-%<test3>\let\pdfstrcmp\relax
-\nofiles
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\usepackage[english,naustrian,ngerman]{babel}
-\usepackage{iflang}
-\begin{document}
-\begin{qstest}{IfLanguagePatterns}{language, pattern}
-  \def\test#1#2{%
-    \Expect*{\IfLanguagePatterns{#1}{true}{false}}{#2}%
-  }%
-  \test{ngerman}{true}%
-  \test{naustrian}{true}%
-  \test{english}{false}%
-  \test{foobar}{false}%
-\end{qstest}
-\begin{qstest}{IfLanguageName}{language, name}
-  \def\test#1#2{%
-    \Expect*{\IfLanguageName{#1}{true}{false}}{#2}%
-  }%
-  \test{ngerman}{true}%
-  \test{naustrian}{false}%
-  \selectlanguage{naustrian}%
-  \test{ngerman}{false}%
-  \test{naustrian}{true}%
-  \test{foobar}{false}%
-  %
-  \def\languagename{naustrian}%
-  \test{naustrian}{true}%
-  \test{ngerman}{false}%
-  %
-  \edef\languagename{\string naustrian}%
-  \test{naustrian}{true}%
-  \test{ngerman}{false}%
-  %
-  \def\languagename{naustrian}%
-  \makeatletter
-  \@onelevel at sanitize\languagename
-  \test{naustrian}{true}%
-  \test{ngerman}{false}%
-  %
-  \def\languagename{naustrian}%
-  \def\xaustrian{naustrian}%
-  \def\xgerman{ngerman}%
-  \test{\xaustrian}{true}%
-  \test{\xgerman}{false}%
-  %
-  \def\languagename{\xaustrian}%
-  \test{naustrian}{true}%
-  \test{ngerman}{false}%
-  \test{\xaustrian}{true}%
-  \test{\xgerman}{false}%
-  \test{\languagename}{true}%
-  \test{\languagename\space}{false}%
-  %
-  \def\languagename{\empty\xaustrian\empty}%
-  \test{naustrian}{true}%
-  \test{ngerman}{false}%
-  \test{\empty\xaustrian\empty}{true}%
-  \test{\empty\xgerman\empty}{false}%
-\end{qstest}
-\begin{qstest}{IfDefined}{defined}
-  \makeatletter
-  \let\foobar\relax
-  \Expect*{\IfLang at IfDefined{foobar}{true}{false}}{false}%
-  \Expect*{\ifx\foobar\relax true\else false\fi}{true}%
-  \let\foobar\UNDEFINED
-  \Expect*{\IfLang at IfDefined{foobar}{true}{false}}{false}%
-  \Expect*{\ifx\foobar\relax true\else false\fi}{false}%
-  \Expect*{\ifx\foobar\UNDEFINED true\else false\fi}{true}%
-\end{qstest}
-\end{document}
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test2|test3>
-%    \end{macrocode}
-%
-% \subsection{Test with \plainTeX\ and \eTeX}
-%
-%    \begin{macrocode}
-%<*test4>
-%    \end{macrocode}
-%    \begin{macrocode}
-%% Format `etex' based on `language.def'
-\input iflang.sty
-\catcode64=12
-
-\def\TestGeneric#1#2#3{%
-  \begingroup
-    \edef\x{#1{#2}{true}{false}}%
-    \edef\y{#3}%
-    \ifx\x\y
-    \else
-      \errmessage{Failed test: \string#1{#2} <> #3}%
-    \fi
-  \endgroup
-}
-\def\TestPatterns{\TestGeneric\IfLanguagePatterns}
-\def\TestName{\TestGeneric\IfLanguageName}
-
-\TestPatterns{USenglish}{true}
-\TestPatterns{ngerman}{false}
-
-\TestName{USenglish}{true}
-\TestName{ngerman}{false}
-
-\uselanguage{ngerman}
-
-\TestPatterns{USenglish}{false}
-\TestPatterns{ngerman}{true}
-
-\TestName{USenglish}{false}
-\TestName{ngerman}{true}
-
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test4>
-%    \end{macrocode}
-%
-% \subsection{Test with \plainTeX\ and without \eTeX/\pdfTeX}
-%
-%    \begin{macrocode}
-%<*test5>
-%    \end{macrocode}
-%    \begin{macrocode}
-%% Format `tex' (vanilla plain-TeX)
-\let\ifcsname\UNDEFINED
-\let\pdfstrcmp\UNDEFINED
-\input iflang.sty
-\catcode64=11
-
-\def\TestDefined#1{%
-  \IfLang at IfDefined{foobar}{}{}%
-  \ifx\foobar#1%
-  \else
-    \errmessage{Failed test: \string\foobar <> \string#1}%
-  \fi
-}
-\let\foobar\relax
-\TestDefined\relax
-\let\foobar\UNDEFINED
-\TestDefined\relax
-
-\def\strip at prefix#1>{}
-\def\@onelevel at sanitize#1{%
-  \edef#1{\expandafter\strip at prefix\meaning#1}%
-}
-\def\TestCompare#1#2#3{%
-  \begingroup
-    \edef\x{%
-      \if\IfLang at StrEqual{#1}{#2}%
-        true%
-      \else
-        false%
-      \fi
-    }%
-    \def\expect{#3}%
-    \ifx\x\expect
-    \else
-      \def\a{#1}%
-      \@onelevel at sanitize\a
-      \def\b{#2}%
-      \@onelevel at sanitize\b
-      \errmessage{Failed test: `\a'='\b' <> \expect}%
-    \fi
-  \endgroup
-}
-\TestCompare{junk}{junk}{true}
-\TestCompare{}{}{true}
-\TestCompare{a}{b}{false}
-\TestCompare{aa}{bb}{false}
-\def\a{ax}
-\def\b{bx}
-\def\c{\a\b}
-\def\d{\c\b}
-\def\exch#1#2{#2#1}
-\def\gobble#1{}
-\TestCompare{\gobble a}{}{true}
-\TestCompare{}{\gobble a}{true}
-\TestCompare{a\exch xyb}{ayxb}{true}
-\TestCompare{\c}{\c}{true}
-\TestCompare{\d}{\c\b}{true}
-
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test5>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1038,11 +702,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   iflang.sty & tex/generic/oberdiek/iflang.sty\\
 %   iflang.pdf & doc/latex/oberdiek/iflang.pdf\\
-%   test/iflang-test1.tex & doc/latex/oberdiek/test/iflang-test1.tex\\
-%   test/iflang-test2.tex & doc/latex/oberdiek/test/iflang-test2.tex\\
-%   test/iflang-test3.tex & doc/latex/oberdiek/test/iflang-test3.tex\\
-%   test/iflang-test4.tex & doc/latex/oberdiek/test/iflang-test4.tex\\
-%   test/iflang-test5.tex & doc/latex/oberdiek/test/iflang-test5.tex\\
 %   iflang.dtx & source/latex/oberdiek/iflang.dtx\\
 % \end{tabular}^^A
 % }^^A

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,1193 +0,0 @@
-% \iffalse meta-comment
-%
-% File: infwarerr.dtx
-% Version: 2016/05/16 v1.4
-% Info: Providing info/warning/error messages
-%
-% Copyright (C)
-%    2007, 2010 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file infwarerr.dtx
-% and the derived files
-%    infwarerr.sty, infwarerr.pdf, infwarerr.ins, infwarerr.drv,
-%    infwarerr-test1.tex, infwarerr-test2.tex,
-%    infwarerr-test3.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/infwarerr.dtx
-%    CTAN:macros/latex/contrib/oberdiek/infwarerr.pdf
-%
-% Unpacking:
-%    (a) If infwarerr.ins is present:
-%           tex infwarerr.ins
-%    (b) Without infwarerr.ins:
-%           tex infwarerr.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{infwarerr.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If infwarerr.drv is present:
-%           latex infwarerr.drv
-%    (b) Without infwarerr.drv:
-%           latex infwarerr.dtx; ...
-%    The class ltxdoc loads the configuration file ltxdoc.cfg
-%    if available. Here you can specify further options, e.g.
-%    use A4 as paper format:
-%       \PassOptionsToClass{a4paper}{article}
-%
-%    Programm calls to get the documentation (example):
-%       pdflatex infwarerr.dtx
-%       makeindex -s gind.ist infwarerr.idx
-%       pdflatex infwarerr.dtx
-%       makeindex -s gind.ist infwarerr.idx
-%       pdflatex infwarerr.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/infwarerr.sty
-%    TDS:doc/latex/oberdiek/infwarerr.pdf
-%    TDS:doc/latex/oberdiek/test/infwarerr-test1.tex
-%    TDS:doc/latex/oberdiek/test/infwarerr-test2.tex
-%    TDS:doc/latex/oberdiek/test/infwarerr-test3.tex
-%    TDS:source/latex/oberdiek/infwarerr.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: infwarerr
-Version: 2016/05/16 v1.4
-
-Copyright (C)
-   2007, 2010 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file infwarerr.dtx
-and the derived files
-   infwarerr.sty, infwarerr.pdf, infwarerr.ins, infwarerr.drv,
-   infwarerr-test1.tex, infwarerr-test2.tex,
-   infwarerr-test3.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{infwarerr.ins}{\from{infwarerr.dtx}{install}}%
-  \file{infwarerr.drv}{\from{infwarerr.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{infwarerr.sty}{\from{infwarerr.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{infwarerr-test1.tex}{\from{infwarerr.dtx}{test1}}%
-%  \file{infwarerr-test2.tex}{\from{infwarerr.dtx}{test2}}%
-%  \file{infwarerr-test3.tex}{\from{infwarerr.dtx}{test3}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{infwarerr.xml}{\from{infwarerr.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     infwarerr.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `infwarerr.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{infwarerr.drv}%
-  [2016/05/16 v1.4 Providing info/warning/error messages (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{infwarerr.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
-%
-% \GetFileInfo{infwarerr.drv}
-%
-% \title{The \xpackage{infwarerr} package}
-% \date{2016/05/16 v1.4}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package provides a complete set of macros for informations,
-% warnings and error messages with support for \plainTeX.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% Package \xpackage{infwarerr} defines the following set of commands,
-% given as pseudo regular expression:
-%   \begin{quote}
-%     \verb+\@(Package|Class)(Info|InfoNoLine|Warning|WarningNoLine|Error)+^^A
-%     \kern-\rightmargin
-%   \end{quote}
-% The first argument is the package or class in question. The second
-% argument contains the message text. \cs{MessageBreak} is supported.
-% In case of error messages, the third argument contains the help
-% text. Supported are \LaTeX's message texts \cs{@ehc}:
-%   \begin{quote}
-%     |Try typing  <return>  to proceed|\\
-%     |If that doesn't work, type  X <return>  to quit.|
-%   \end{quote}
-% and \cs{@ehd}:
-%   \begin{quote}
-%     |You're in trouble here.  Try typing  <return>  to proceed|\\
-%     |If that doesn't work, type  X <return>  to quit.|
-%   \end{quote}
-%
-% The package is intended for macro writers that want to write
-% code that works for both \LaTeX\ and \plainTeX. If \LaTeX\ is
-% detected, then the macros of this package will only be wrappers
-% for \LaTeX's macros. Otherwise \LaTeX's macros will be mimicked
-% for use with \plainTeX.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsection{Reload check and package identification}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at infwarerr.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{infwarerr}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at infwarerr.sty\endcsname
-\ProvidesPackage{infwarerr}%
-  [2016/05/16 v1.4 Providing info/warning/error messages (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Catcodes}
-%
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname InfWarErr at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\InfWarErr at AtEnd{%
-    \InfWarErr at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{10}{12}% ^^J
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{94}{7}% ^
-\edef\InfWarErr at AtEnd{\InfWarErr at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{\LaTeX\ detection}
-%
-%    \begin{macrocode}
-\begingroup
-  \let\x=Y%
-  \def\check#1{%
-    \@check{Generic}{#1}%
-    \@check{Package}{#1}%
-    \@check{Class}{#1}%
-  }%
-  \def\@check#1#2{%
-    \expandafter\ifx\csname #1#2\endcsname\relax
-      \let\x=N%
-    \fi
-  }%
-  \check{Info}%
-  \check{Warning}%
-  \check{Error}%
-  \@check{Package}{WarningNoLine}%
-  \@check{Class}{WarningNoLine}%
-  \@check{}{@ehc}%
-  \@check{}{@ehd}%
-\expandafter\endgroup
-\ifx\x Y%
-%    \end{macrocode}
-%
-% \subsection{Version for \LaTeX}
-%
-%    \begin{macro}{\@PackageInfo}
-%    \begin{macrocode}
-  \let\@PackageInfo\PackageInfo
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageInfoNoLine}
-%    \begin{macrocode}
-  \def\@PackageInfoNoLine#1#2{%
-    \PackageInfo{#1}{#2\@gobble}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassInfo}
-%    \begin{macrocode}
-  \let\@ClassInfo\ClassInfo
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassInfoNoLine}
-%    \begin{macrocode}
-  \def\@ClassInfoNoLine#1#2{%
-    \ClassInfo{#1}{#2\@gobble}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageWarning}
-%    \begin{macrocode}
-  \let\@PackageWarning\PackageWarning
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageWarningNoLine}
-%    \begin{macrocode}
-  \let\@PackageWarningNoLine\PackageWarningNoLine
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassWarning}
-%    \begin{macrocode}
-  \let\@ClassWarning\ClassWarning
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassWarningNoLine}
-%    \begin{macrocode}
-  \let\@ClassWarningNoLine\ClassWarningNoLine
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageError}
-%    \begin{macrocode}
-  \let\@PackageError\PackageError
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassError}
-%    \begin{macrocode}
-  \let\@ClassError\ClassError
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \expandafter\InfWarErr at AtEnd
-\fi%
-%    \end{macrocode}
-%
-% \subsection{Version for \plainTeX}
-%
-%    \begin{macro}{\InfWarErr at online}
-%    \begin{macrocode}
-\begingroup\expandafter\endgroup
-\ifcase\expandafter\ifx\csname inputlineno\endcsname\relax
-         0 %
-       \else
-         \ifnum\inputlineno<0 %
-           0 %
-         \else
-           1 %
-         \fi
-       \fi
-  \def\InfWarErr at online{}%
-\else
-  \def\InfWarErr at online{ on input line \the\inputlineno}%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InfWarErr at protected}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
-  \def\InfWarErr at protected{}%
-\else
-  \let\InfWarErr at protected\protected
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InfWarErr at unused}
-%    \begin{macrocode}
-\chardef\InfWarErr at unused=16 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InfWarErr at ehc}
-%    \begin{macrocode}
-\def\InfWarErr at ehc{%
-  Try typing \space <return> \space to proceed.\MessageBreak
-  If that doesn't work, type \space X <return> \space to quit.%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InfWarErr at ehd}
-%    \begin{macrocode}
-\def\InfWarErr at ehd{%
-  You're in trouble here. \space\@ehc
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InfWarErr at GenericInfo}
-%    \begin{macrocode}
-\InfWarErr at protected\def\InfWarErr at GenericInfo#1#2{%
-  \begingroup
-    \let\on at line\InfWarErr at online
-    \long\def\@gobble##1{}%
-    \def\space{ }%
-    \def\@spaces{\space\space\space\space}%
-    \def\MessageBreak{^^J#1}%
-    \newlinechar=10 %
-    \escapechar=92 %
-    \immediate\write-1{#2\on at line.}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InfWarErr at GenericWarning}
-%    \begin{macrocode}
-\InfWarErr at protected\def\InfWarErr at GenericWarning#1#2{%
-  \begingroup
-    \let\on at line\InfWarErr at online
-    \long\def\@gobble##1{}%
-    \def\space{ }%
-    \def\@spaces{\space\space\space\space}%
-    \def\MessageBreak{^^J#1}%
-    \newlinechar=10 %
-    \escapechar=92 %
-    \immediate\write\InfWarErr at unused{^^J#2\on at line.^^J}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InfWarErr at GenericError}
-%    Old \TeX\ versions below 3.141 where |^^J| is not working
-%    as newline in error message and help texts are not supported.
-%    \begin{macrocode}
-\InfWarErr at protected\def\InfWarErr at GenericError#1#2#3#4{%
-  \begingroup
-    \immediate\write\InfWarErr at unused{}%
-    \def\space{ }%
-    \def\@spaces{\space\space\space\space}%
-    \let\@ehc\InfWarErr at ehc
-    \let\@ehd\InfWarErr at ehd
-    \let\on at line\InfWarErr at online
-    \def\MessageBreak{^^J}%
-    \newlinechar=10 %
-    \escapechar=92 %
-    \edef\InfWarErr at help{\noexpand\errhelp{#4}}%
-    \InfWarErr at help
-    \def\MessageBreak{^^J#1}%
-    \errmessage{%
-      #2.^^J^^J%
-      #3^^J%
-      Type \space H <return> \space for immediate help.^^J ...^^J%
-    }%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\@PackageInfo}
-%    \begin{macrocode}
-\def\@PackageInfo#1#2{%
-  \InfWarErr at GenericInfo{%
-    (#1) \@spaces\@spaces\@spaces
-  }{%
-    Package #1 Info: #2%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageInfoNoLine}
-%    \begin{macrocode}
-\def\@PackageInfoNoLine#1#2{%
-  \@PackageInfo{#1}{#2\@gobble}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassInfo}
-%    \begin{macrocode}
-\def\@ClassInfo#1#2{%
-  \InfWarErr at GenericInfo{%
-    (#1) \space\space\@spaces\@spaces
-  }{%
-    Class #1 Info: #2%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassInfoNoLine}
-%    \begin{macrocode}
-\def\@ClassInfoNoLine#1#2{%
-  \@ClassInfo{#1}{#2\@gobble}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageWarning}
-%    \begin{macrocode}
-\def\@PackageWarning#1#2{%
-  \InfWarErr at GenericWarning{%
-    (#1)\@spaces\@spaces\@spaces\@spaces
-  }{%
-    Package #1 Warning: #2%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageWarningNoLine}
-%    \begin{macrocode}
-\def\@PackageWarningNoLine#1#2{%
-  \@PackageWarning{#1}{#2\@gobble}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassWarning}
-%    \begin{macrocode}
-\def\@ClassWarning#1#2{%
-  \InfWarErr at GenericWarning{%
-    (#1) \space\@spaces\@spaces\@spaces
-  }{%
-    Class #1 Warning: #2%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassWarningNoLine}
-%    \begin{macrocode}
-\def\@ClassWarningNoLine#1#2{%
-  \@ClassWarning{#1}{#2\@gobble}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@PackageError}
-%    \begin{macrocode}
-\def\@PackageError#1#2#3{%
-  \InfWarErr at GenericError{%
-    (#1)\@spaces\@spaces\@spaces\@spaces
-  }{%
-    Package #1 Error: #2%
-  }{%
-    See the #1 package documentation for explanation.%
-  }{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ClassError}
-%    \begin{macrocode}
-\def\@ClassError#1#2#3{%
-  \InfWarErr at GenericError{%
-    (#1) \space\@spaces\@spaces\@spaces
-  }{%
-    Class #1 Error: #2%
-  }{%
-    See the #1 class documentation for explanation.%
-  }{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\InfWarErr at AtEnd%
-%</package>
-%    \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input infwarerr.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-%    \begin{macrocode}
-%<*test2>
-\let\PackageInfo\relax
-\input infwarerr.sty\relax
-\let\OrgWrite\write
-\chardef\WriteUnused=16 %
-\def\msg#{\immediate\OrgWrite\WriteUnused}
-\msg{File: infwarerr-test2.tex 2016/05/16 v1.4 Test file for plain-TeX}
-\catcode64=11 %
-%</test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{infwarerr-test3.tex}[2016/05/16 v1.4 Test file for LaTeX]
-\RequirePackage{infwarerr}[2016/05/16]
-\makeatletter
-\let\OrgWrite\write
-\chardef\WriteUnused=\@unused
-\def\msg#{\immediate\OrgWrite\WriteUnused}
-%</test3>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test2|test3>
-\def\pkgname{PACKAGE}
-\def\clsname{CLASS}
-\def\msgtext{MESSAGE\MessageBreak SECOND LINE}
-\def\hlptext{HELP\MessageBreak SECOND LINE}
-
-\let\OrgWrite\write
-\let\OrgErrMessage\errmessage
-
-\def\write#1#{%
-  \@write{#1}%
-}
-\def\@write#1#2{%
-  \OrgWrite#1{#2}%
-  \xdef\WriteNum{\number#1}%
-  \xdef\WriteText{#2}%
-}
-\def\TestFailed#1#2{%
-  \OrgErrMessage{Test (\string#1) failed: #2}%
-}
-\def\TestWrite#1#2#3{%
-  \ifnum\WriteNum=#2\relax
-  \else
-    \TestFailed#1{write stream number: \WriteNum <> #2}%
-  \fi
-  \begingroup
-    \let~\space
-    \edef\TestString{#3}%
-    \ifx\WriteText\TestString
-    \else
-      \msg{}%
-      \msg{[\WriteText]}%
-      \msg{<>}%
-      \msg{[#3]}% hash-ok
-      \TestFailed#1{write text}%
-    \fi
-  \endgroup
-}
-\newtoks\ErrHelpToks
-\def\errmessage#1{%
-  \global\ErrHelpToks=\expandafter{\the\errhelp}%
-  \msg{**************** error message ****************}%
-  \msg{! #1}%
-  \msg{**************** help message *****************}%
-  \msg{\the\errhelp}%
-  \msg{***********************************************}%
-  \xdef\ErrMessage{! #1}%
-}
-\def\TestInfo{%
-  \@PackageInfo\pkgname\msgtext
-  \TestWrite\@PackageInfo{-1}{%
-    Package PACKAGE Info: MESSAGE^^J%
-    (PACKAGE)~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
-  }%
-  \@PackageInfoNoLine\pkgname\msgtext
-  \TestWrite\@PackageInfoNoLine{-1}{%
-    Package PACKAGE Info: MESSAGE^^J%
-    (PACKAGE)~~~~~~~~~~~~~SECOND LINE.%
-  }%
-  \@ClassInfo\clsname\msgtext
-  \TestWrite\@ClassInfo{-1}{%
-    Class CLASS Info: MESSAGE^^J%
-    (CLASS)~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
-  }%
-  \@ClassInfoNoLine\clsname\msgtext
-  \TestWrite\@ClassInfoNoLine{-1}{%
-    Class CLASS Info: MESSAGE^^J%
-    (CLASS)~~~~~~~~~~~SECOND LINE.%
-  }%
-}
-\def\TestWarning{%
-  \@PackageWarning\pkgname\msgtext
-  \TestWrite\@PackageWarning\WriteUnused{%
-    ^^J%
-    Package PACKAGE Warning: MESSAGE^^J%
-    (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
-    ^^J%
-  }%
-  \@PackageWarningNoLine\pkgname\msgtext
-  \TestWrite\@PackageWarningNoLine\WriteUnused{%
-    ^^J%
-    Package PACKAGE Warning: MESSAGE^^J%
-    (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.%
-    ^^J%
-  }%
-  \@ClassWarning\clsname\msgtext
-  \TestWrite\@ClassWarning\WriteUnused{%
-    ^^J%
-    Class CLASS Warning: MESSAGE^^J%
-    (CLASS)~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
-    ^^J%
-  }%
-  \@ClassWarningNoLine\clsname\msgtext
-  \TestWrite\@ClassWarningNoLine\WriteUnused{%
-    ^^J%
-    Class CLASS Warning: MESSAGE^^J%
-    (CLASS)~~~~~~~~~~~~~~SECOND LINE.%
-    ^^J%
-  }%
-}
-\def\TestError{%
-%<test3>  \let\write\OrgWrite
-%<test3>  \def\plaindots{}
-%<test2>  \def\plaindots{.^^J ...^^J}
-  \@PackageError\pkgname\msgtext\hlptext
-  \@TestError\@PackageError{%
-    ! Package PACKAGE Error: MESSAGE^^J%
-    (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
-    ^^J%
-    See the PACKAGE package documentation for explanation.^^J%
-    Type~~H <return>~~for immediate help\plaindots
-  }{%
-    HELP^^J%
-    SECOND LINE%
-  }%
-  \@ClassError\clsname\msgtext\hlptext
-  \@TestError\@ClassError{%
-    ! Class CLASS Error: MESSAGE^^J%
-    (CLASS)~~~~~~~~~~~~~~SECOND LINE.^^J%
-    ^^J%
-    See the CLASS class documentation for explanation.^^J%
-    Type~~H <return>~~for immediate help\plaindots
-  }{%
-    HELP^^J%
-    SECOND LINE%
-  }%
-  \@PackageError\pkgname\msgtext\@ehc
-  \@TestError\@PackageError{%
-    ! Package PACKAGE Error: MESSAGE^^J%
-    (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
-    ^^J%
-    See the PACKAGE package documentation for explanation.^^J%
-    Type~~H <return>~~for immediate help\plaindots
-  }{%
-    Try typing~~<return>~~to proceed.^^J%
-    If that doesn't work, type~~X <return>~~to quit.%
-  }%
-  \@PackageError\pkgname\msgtext\@ehd
-  \@TestError\@PackageError{%
-    ! Package PACKAGE Error: MESSAGE^^J%
-    (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
-    ^^J%
-    See the PACKAGE package documentation for explanation.^^J%
-    Type~~H <return>~~for immediate help\plaindots
-  }{%
-    You're in trouble here.~~Try typing~~<return>~~to proceed.^^J%
-    If that doesn't work, type~~X <return>~~to quit.%
-  }%
-}
-\def\@TestError#1#2#3{%
-  \begingroup
-    \let~\space
-    \edef\x{#2}%
-%<test3>  \@onelevel at sanitize\x
-%<test3>  \@onelevel at sanitize\ErrMessage
-    \ifx\x\ErrMessage
-    \else
-      \msg{}%
-      \msg{[\ErrMessage]}%
-      \msg{<>}%
-      \msg{[\x]}%
-      \TestFailed#1{errmessage text}%
-    \fi
-    \edef\x{\the\ErrHelpToks}%
-    \edef\y{#3}%
-    \ifx\x\y
-    \else
-      \msg{}%
-      \msg{[\the\ErrHelpToks]}%
-      \msg{<>}%
-      \msg{[\y]}%
-      \TestFailed#1{errhelp text}%
-    \fi
-  \endgroup
-}
-\TestInfo
-\TestWarning
-\TestError
-%</test2|test3>
-%<test2>\end
-%<test3>\@@end
-%    \end{macrocode}
-%
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{infwarerr}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/infwarerr.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/infwarerr.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-%   |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
-% \begin{quote}
-%   \verb|tex infwarerr.dtx|
-% \end{quote}
-%
-% \paragraph{TDS.} Now the different files must be moved into
-% the different directories in your installation TDS tree
-% (also known as \xfile{texmf} tree):
-% \begin{quote}
-% \def\t{^^A
-% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-%   infwarerr.sty & tex/generic/oberdiek/infwarerr.sty\\
-%   infwarerr.pdf & doc/latex/oberdiek/infwarerr.pdf\\
-%   test/infwarerr-test1.tex & doc/latex/oberdiek/test/infwarerr-test1.tex\\
-%   test/infwarerr-test2.tex & doc/latex/oberdiek/test/infwarerr-test2.tex\\
-%   test/infwarerr-test3.tex & doc/latex/oberdiek/test/infwarerr-test3.tex\\
-%   infwarerr.dtx & source/latex/oberdiek/infwarerr.dtx\\
-% \end{tabular}^^A
-% }^^A
-% \sbox0{\t}^^A
-% \ifdim\wd0>\linewidth
-%   \begingroup
-%     \advance\linewidth by\leftmargin
-%     \advance\linewidth by\rightmargin
-%   \edef\x{\endgroup
-%     \def\noexpand\lw{\the\linewidth}^^A
-%   }\x
-%   \def\lwbox{^^A
-%     \leavevmode
-%     \hbox to \linewidth{^^A
-%       \kern-\leftmargin\relax
-%       \hss
-%       \usebox0
-%       \hss
-%       \kern-\rightmargin\relax
-%     }^^A
-%   }^^A
-%   \ifdim\wd0>\lw
-%     \sbox0{\small\t}^^A
-%     \ifdim\wd0>\linewidth
-%       \ifdim\wd0>\lw
-%         \sbox0{\footnotesize\t}^^A
-%         \ifdim\wd0>\linewidth
-%           \ifdim\wd0>\lw
-%             \sbox0{\scriptsize\t}^^A
-%             \ifdim\wd0>\linewidth
-%               \ifdim\wd0>\lw
-%                 \sbox0{\tiny\t}^^A
-%                 \ifdim\wd0>\linewidth
-%                   \lwbox
-%                 \else
-%                   \usebox0
-%                 \fi
-%               \else
-%                 \lwbox
-%               \fi
-%             \else
-%               \usebox0
-%             \fi
-%           \else
-%             \lwbox
-%           \fi
-%         \else
-%           \usebox0
-%         \fi
-%       \else
-%         \lwbox
-%       \fi
-%     \else
-%       \usebox0
-%     \fi
-%   \else
-%     \lwbox
-%   \fi
-% \else
-%   \usebox0
-% \fi
-% \end{quote}
-% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
-% TDS installing feature, then some files can already be in the right
-% place, see the documentation of \docstrip.
-%
-% \subsection{Refresh file name databases}
-%
-% If your \TeX~distribution
-% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
-% these. For example, \TeX\,Live\ users run \verb|texhash| or
-% \verb|mktexlsr|.
-%
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-%   \verb|latex \let\install=y\input{infwarerr.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
-% line into this file, if you want to have A4 as paper format:
-% \begin{quote}
-%   \verb|\PassOptionsToClass{a4paper}{article}|
-% \end{quote}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex infwarerr.dtx
-%makeindex -s gind.ist infwarerr.idx
-%pdflatex infwarerr.dtx
-%makeindex -s gind.ist infwarerr.idx
-%pdflatex infwarerr.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/04/26 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/06/14 v1.1}
-%   \item
-%     Small fixes.
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v1.2}
-%   \item
-%     Catcode section extended.
-%   \end{Version}
-%   \begin{Version}{2010/04/08 v1.3}
-%   \item
-%     Ensure \cs{escapechar}=92 (backslash) for infos/warnings/errors.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.4}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,10 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/intcalc.sty
 %    TDS:doc/latex/oberdiek/intcalc.pdf
-%    TDS:doc/latex/oberdiek/test/intcalc-test1.tex
-%    TDS:doc/latex/oberdiek/test/intcalc-test2.tex
-%    TDS:doc/latex/oberdiek/test/intcalc-test3.tex
-%    TDS:doc/latex/oberdiek/test/intcalc-test4.tex
 %    TDS:source/latex/oberdiek/intcalc.dtx
 %
 %<*ignore>
@@ -145,10 +141,6 @@
 %  \file{intcalc-test2.tex}{\from{intcalc.dtx}{test2,etex}}%
 %  \file{intcalc-test3.tex}{\from{intcalc.dtx}{test2,noetex}}%
 %  \file{intcalc-test4.tex}{\from{intcalc.dtx}{test4,etex}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{intcalc.xml}{\from{intcalc.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -219,21 +211,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{intcalc.drv}
 %
@@ -3119,956 +3096,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input intcalc.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble with test macro definitions}
-%
-%    \begin{macrocode}
-%<*test2|test4>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedNumexpr\numexpr
-%<noetex>\let\numexpr\UNDEFINED
-\makeatletter
-\chardef\InCa at TestMode=1 %
-\makeatother
-\usepackage{intcalc}[2016/05/16]
-%<noetex>\let\numexpr\SavedNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%</test2|test4>
-%<*test2>
-\newcommand*{\TestSpaceAtEnd}[1]{%
-%<noetex>  \let\SavedNumexpr\numexpr
-%<noetex>  \let\numexpr\UNDEFINED
-  \edef\resultA{#1}%
-  \edef\resultB{#1 }%
-%<noetex>  \let\numexpr\SavedNumexpr
-  \Expect*{\resultA\space}*{\resultB}%
-}
-\newcommand*{\TestResult}[2]{%
-%<noetex>  \let\SavedNumexpr\numexpr
-%<noetex>  \let\numexpr\UNDEFINED
-  \edef\result{#1}%
-%<noetex>  \let\numexpr\SavedNumexpr
-  \Expect*{\result}{#2}%
-}
-\newcommand*{\TestResultTwoExpansions}[2]{%
-%<*noetex>
-  \begingroup
-    \let\numexpr\UNDEFINED
-    \expandafter\expandafter\expandafter
-  \endgroup
-%</noetex>
-  \expandafter\expandafter\expandafter\Expect
-  \expandafter\expandafter\expandafter{#1}{#2}%
-}
-\newcount\TestCount
-%<etex>\newcommand*{\TestArg}[1]{\numexpr#1\relax}
-%<noetex>\newcommand*{\TestArg}[1]{#1}
-\newcommand*{\TestTeXDivide}[2]{%
-  \TestCount=\TestArg{#1}\relax
-  \divide\TestCount by \TestArg{#2}\relax
-  \Expect*{\intcalcDiv{#1}{#2}}*{\the\TestCount}%
-}
-\newcommand*{\Test}[2]{%
-  \TestResult{#1}{#2}%
-  \TestResultTwoExpansions{#1}{#2}%
-  \TestSpaceAtEnd{#1}%
-}
-\newcommand*{\TestExch}[2]{\Test{#2}{#1}}
-\newcommand*{\TestInv}[2]{%
-  \Test{\intcalcInv{#1}}{#2}%
-}
-\newcommand*{\TestNum}[2]{%
-  \Test{\intcalcNum{#1}}{#2}%
-}
-\newcommand*{\TestAbs}[2]{%
-  \Test{\intcalcAbs{#1}}{#2}%
-}
-\newcommand*{\TestSgn}[2]{%
-  \Test{\intcalcSgn{#1}}{#2}%
-}
-\newcommand*{\TestMin}[3]{%
-  \Test{\intcalcMin{#1}{#2}}{#3}%
-}
-\newcommand*{\TestMax}[3]{%
-  \Test{\intcalcMax{#1}{#2}}{#3}%
-}
-\newcommand*{\TestCmp}[3]{%
-  \Test{\intcalcCmp{#1}{#2}}{#3}%
-}
-\newcommand*{\TestInc}[2]{%
-  \Test{\intcalcInc{#1}}{#2}%
-  \ifnum\intcalcNum{#1}>-1 %
-    \edef\x{%
-      \noexpand\Test{%
-        \noexpand\IntCalcInc\intcalcNum{#1}!%
-      }{#2}%
-    }%
-    \x
-  \fi
-}
-\newcommand*{\TestDec}[2]{%
-  \Test{\intcalcDec{#1}}{#2}%
-  \ifnum\intcalcNum{#1}>0 %
-    \edef\x{%
-      \noexpand\Test{%
-        \noexpand\IntCalcDec\intcalcNum{#1}!%
-      }{#2}%
-    }%
-    \x
-  \fi
-}
-\newcommand*{\TestAdd}[3]{%
-  \Test{\intcalcAdd{#1}{#2}}{#3}%
-  \ifnum\intcalcNum{#1}>0 %
-    \ifnum\intcalcNum{#2}> 0 %
-      \ifnum\intcalcCmp{#1}{#2}>0 %
-        \edef\x{%
-          \noexpand\Test{%
-            \noexpand\IntCalcAdd
-            \intcalcNum{#1}!\intcalcNum{#2}!%
-          }{#3}%
-        }%
-        \x
-      \else
-        \edef\x{%
-          \noexpand\Test{%
-            \noexpand\IntCalcAdd
-            \intcalcNum{#2}!\intcalcNum{#1}!%
-          }{#3}%
-        }%
-        \x
-      \fi
-    \fi
-  \fi
-}
-\newcommand*{\TestSub}[3]{%
-  \Test{\intcalcSub{#1}{#2}}{#3}%
-  \ifnum\intcalcNum{#1}>0 %
-    \ifnum\intcalcNum{#2}> 0 %
-      \ifnum\intcalcCmp{#1}{#2}>0 %
-        \edef\x{%
-          \noexpand\Test{%
-            \noexpand\IntCalcSub
-            \intcalcNum{#1}!\intcalcNum{#2}!%
-          }{#3}%
-        }%
-        \x
-      \fi
-    \fi
-  \fi
-}
-\newcommand*{\TestShl}[2]{%
-  \Test{\intcalcShl{#1}}{#2}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\IntCalcShl\intcalcAbs{#1}!%
-    }{\intcalcAbs{#2}}%
-  }%
-  \x
-}
-\newcommand*{\TestShr}[2]{%
-  \Test{\intcalcShr{#1}}{#2}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\IntCalcShr\intcalcAbs{#1}!%
-    }{\intcalcAbs{#2}}%
-  }%
-  \x
-}
-\newcommand*{\TestMul}[3]{%
-  \Test{\intcalcMul{#1}{#2}}{#3}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\IntCalcMul\intcalcAbs{#1}!\intcalcAbs{#2}!%
-    }{\intcalcAbs{#3}}%
-  }%
-  \x
-}
-\newcommand*{\TestSqr}[2]{%
-  \Test{\intcalcSqr{#1}}{#2}%
-}
-\newcommand*{\TestFac}[2]{%
-  \expandafter\TestExch\expandafter{\the\numexpr#2}{\intcalcFac{#1}}%
-}
-\newcommand*{\TestPow}[3]{%
-  \Test{\intcalcPow{#1}{#2}}{#3}%
-}
-\newcommand*{\TestDiv}[3]{%
-  \Test{\intcalcDiv{#1}{#2}}{#3}%
-  \TestTeXDivide{#1}{#2}%
-  \edef\x{%
-    \noexpand\Test{%
-      \noexpand\IntCalcDiv\intcalcAbs{#1}!\intcalcAbs{#2}!%
-    }{\intcalcAbs{#3}}%
-  }%
-}
-\newcommand*{\TestMod}[3]{%
-  \Test{\intcalcMod{#1}{#2}}{#3}%
-  \ifcase\ifcase\intcalcSgn{#1} 0%
-         \or
-           \ifcase\intcalcSgn{#2} 1%
-           \or 0%
-           \else 1%
-           \fi
-         \else
-           \ifcase\intcalcSgn{#2} 1%
-           \or 1%
-           \else 0%
-           \fi
-         \fi\relax
-    \edef\x{%
-      \noexpand\Test{%
-        \noexpand\IntCalcMod
-        \intcalcAbs{#1}!\intcalcAbs{#2}!%
-      }{\intcalcAbs{#3}}%
-    }%
-    \x
-  \fi
-}
-%</test2>
-%    \end{macrocode}
-%
-% \subsubsection{Time}
-%
-%    \begin{macrocode}
-%<*test2>
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
-  \makeatletter
-  \newcount\SummaryTime
-  \newcount\TestTime
-  \SummaryTime=\z@
-  \newcommand*{\PrintTime}[2]{%
-    \typeout{%
-      [Time #1: \strip at pt\dimexpr\number#2sp\relax\space s]%
-    }%
-  }%
-  \newcommand*{\StartTime}[1]{%
-    \renewcommand*{\TimeDescription}{#1}%
-    \pdfresettimer
-  }%
-  \newcommand*{\TimeDescription}{}%
-  \newcommand*{\StopTime}{%
-    \TestTime=\pdfelapsedtime
-    \global\advance\SummaryTime\TestTime
-    \PrintTime\TimeDescription\TestTime
-  }%
-  \let\saved at qstest\qstest
-  \let\saved at endqstest\endqstest
-  \def\qstest#1#2{%
-    \saved at qstest{#1}{#2}%
-    \StartTime{#1}%
-  }%
-  \def\endqstest{%
-    \StopTime
-    \saved at endqstest
-  }%
-  \AtEndDocument{%
-    \PrintTime{summary}\SummaryTime
-  }%
-  \makeatother
-\fi
-%</test2>
-%    \end{macrocode}
-%
-% \subsubsection{Test 4: additional mod/div operations}
-%
-%    \begin{macrocode}
-%<*test4>
-\newcommand*{\TestDo}[2]{%
-  \ifcase\numexpr#2\relax
-  \else
-    \edef\temp{\intcalcMod{#1}{#2}}%
-    \Expect*{%
-      \the\numexpr
-      \intcalcMul{%
-        \intcalcDiv{\intcalcAbs{#1}}{\intcalcAbs{#2}}%
-      }{\intcalcAbs{#2}}%
-      +\intcalcMod{\intcalcAbs{#1}}{\intcalcAbs{#2}}\relax
-    }*{\the\numexpr\intcalcAbs{#1}\relax}%
-  \fi
-}
-\newcommand*{\TestOne}[2]{%
-  \TestDo{#1}{#1}%
-}
-\newcommand*{\TestTwo}[3]{%
-  \TestDo{#1}{#2}%
-  \TestDo{#2}{#1}%
-}
-\let\TestNum\TestOne
-\let\TestInv\TestOne
-\let\TestAbs\TestOne
-\let\TestSgn\TestOne
-\let\TestMin\TestTwo
-\let\TestMax\TestTwo
-\let\TestCmp\TestTwo
-\let\TestInc\TestOne
-\let\TestDec\TestOne
-\let\TestAdd\TestTwo
-\let\TestSub\TestTwo
-\let\TestShl\TestOne
-\let\TestShr\TestOne
-\let\TestMul\TestTwo
-\let\TestSqr\TestOne
-\def\TestFac#1#2{}
-\let\TestPow\TestTwo
-\let\TestDiv\TestTwo
-\let\TestMod\TestTwo
-%</test4>
-%    \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-%    \begin{macrocode}
-%<*test2|test4>
-\makeatletter
-
-\begin{qstest}{num}{num}%
-  \TestNum{0}{0}%
-  \TestNum{1}{1}%
-  \TestNum{-1}{-1}%
-  \TestNum{10}{10}%
-  \TestNum{-10}{-10}%
-  \TestNum{2147483647}{2147483647}%
-  \TestNum{-2147483647}{-2147483647}%
-  \TestNum{ 0 }{0}%
-  \TestNum{ 1 }{1}%
-  \TestNum{--1}{1}%
-  \TestNum{ - + - + 4 }{4}%
-  \TestNum{\z@}{0}%
-  \TestNum{\@ne}{1}%
-  \TestNum{\m at ne}{-1}%
-%<*etex>
-  \TestNum{-10+30}{20}%
-  \TestNum{10-30}{-20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{inv}{inv}%
-  \TestInv{0}{0}%
-  \TestInv{1}{-1}%
-  \TestInv{-1}{1}%
-  \TestInv{10}{-10}%
-  \TestInv{-10}{10}%
-  \TestInv{2147483647}{-2147483647}%
-  \TestInv{-2147483647}{2147483647}%
-  \TestInv{ 0 }{0}%
-  \TestInv{ 1 }{-1}%
-  \TestInv{--1}{-1}%
-  \TestInv{\z@}{0}%
-  \TestInv{\@ne}{-1}%
-  \TestInv{\m at ne}{1}%
-%<*etex>
-  \TestInv{-10+30}{-20}%
-  \TestInv{10-30}{20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{abs}{abs}%
-  \TestAbs{0}{0}%
-  \TestAbs{1}{1}%
-  \TestAbs{-1}{1}%
-  \TestAbs{10}{10}%
-  \TestAbs{-10}{10}%
-  \TestAbs{2147483647}{2147483647}%
-  \TestAbs{-2147483647}{2147483647}%
-  \TestAbs{ 0 }{0}%
-  \TestAbs{ 1 }{1}%
-  \TestAbs{--1}{1}%
-  \TestAbs{\z@}{0}%
-  \TestAbs{\@ne}{1}%
-  \TestAbs{\m at ne}{1}%
-%<*etex>
-  \TestAbs{-10+30}{20}%
-  \TestAbs{10-30}{20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sign}{sign}%
-  \TestSgn{0}{0}%
-  \TestSgn{1}{1}%
-  \TestSgn{-1}{-1}%
-  \TestSgn{10}{1}%
-  \TestSgn{-10}{-1}%
-  \TestSgn{2147483647}{1}%
-  \TestSgn{-2147483647}{-1}%
-  \TestSgn{ 0 }{0}%
-  \TestSgn{ 2 }{1}%
-  \TestSgn{ -2 }{-1}%
-  \TestSgn{--2}{1}%
-  \TestSgn{\z@}{0}%
-  \TestSgn{\@ne}{1}%
-  \TestSgn{\m at ne}{-1}%
-%<*etex>
-  \TestSgn{-10+30}{1}%
-  \TestSgn{10-30}{-1}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{min}{min}%
-  \TestMin{0}{1}{0}%
-  \TestMin{1}{0}{0}%
-  \TestMin{-10}{-20}{-20}%
-  \TestMin{ 1 }{ 2 }{1}%
-  \TestMin{ 2 }{ 1 }{1}%
-  \TestMin{1}{1}{1}%
-  \TestMin{\z@}{\@ne}{0}%
-  \TestMin{\@ne}{\m at ne}{-1}%
-%<*etex>
-  \TestMin{1+2}{3+4}{3}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{max}{max}%
-  \TestMax{0}{1}{1}%
-  \TestMax{1}{0}{1}%
-  \TestMax{-10}{-20}{-10}%
-  \TestMax{ 1 }{ 2 }{2}%
-  \TestMax{ 2 }{ 1 }{2}%
-  \TestMax{1}{1}{1}%
-  \TestMax{\z@}{\@ne}{1}%
-  \TestMax{\@ne}{\m at ne}{1}%
-%<*etex>
-  \TestMax{1+2}{3+4}{7}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{cmp}{cmp}%
-  \TestCmp{0}{0}{0}%
-  \TestCmp{-21}{17}{-1}%
-  \TestCmp{3}{4}{-1}%
-  \TestCmp{-10}{-10}{0}%
-  \TestCmp{-10}{-11}{1}%
-  \TestCmp{100}{5}{1}%
-  \TestCmp{2147483647}{-2147483647}{1}%
-  \TestCmp{-2147483647}{2147483647}{-1}%
-  \TestCmp{2147483647}{2147483647}{0}%
-  \TestCmp{\z@}{\@ne}{-1}%
-  \TestCmp{\@ne}{\m at ne}{1}%
-  \TestCmp{ 4 }{ 5 }{-1}%
-  \TestCmp{ -3 }{ -7 }{1}%
-%<*etex>
-  \TestCmp{1+2}{3+4}{-1}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{fac}{fac}
-  \TestFac{0}{1}%
-  \TestFac{1}{1}%
-  \TestFac{2}{2}%
-  \TestFac{3}{2*3}%
-  \TestFac{4}{2*3*4}%
-  \TestFac{5}{2*3*4*5}%
-  \TestFac{6}{2*3*4*5*6}%
-  \TestFac{7}{2*3*4*5*6*7}%
-  \TestFac{8}{2*3*4*5*6*7*8}%
-  \TestFac{9}{2*3*4*5*6*7*8*9}%
-  \TestFac{10}{2*3*4*5*6*7*8*9*10}%
-  \TestFac{11}{2*3*4*5*6*7*8*9*10*11}%
-  \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}%
-\end{qstest}
-
-\begin{qstest}{inc}{inc}%
-  \TestInc{0}{1}%
-  \TestInc{1}{2}%
-  \TestInc{-1}{0}%
-  \TestInc{10}{11}%
-  \TestInc{-10}{-9}%
-  \TestInc{999}{1000}%
-  \TestInc{-1000}{-999}%
-  \TestInc{129}{130}%
-  \TestInc{2147483646}{2147483647}%
-  \TestInc{-2147483647}{-2147483646}%
-\end{qstest}
-
-\begin{qstest}{dec}{dec}%
-  \TestDec{0}{-1}%
-  \TestDec{1}{0}%
-  \TestDec{-1}{-2}%
-  \TestDec{10}{9}%
-  \TestDec{-10}{-11}%
-  \TestDec{1000}{999}%
-  \TestDec{-999}{-1000}%
-  \TestDec{130}{129}%
-  \TestDec{2147483647}{2147483646}%
-  \TestDec{-2147483646}{-2147483647}%
-\end{qstest}
-
-\begin{qstest}{add}{add}%
-  \TestAdd{0}{0}{0}%
-  \TestAdd{1}{0}{1}%
-  \TestAdd{0}{1}{1}%
-  \TestAdd{1}{2}{3}%
-  \TestAdd{-1}{-1}{-2}%
-  \TestAdd{2147483646}{1}{2147483647}%
-  \TestAdd{-2147483647}{2147483647}{0}%
-  \TestAdd{20}{-5}{15}%
-  \TestAdd{-4}{-1}{-5}%
-  \TestAdd{-1}{-4}{-5}%
-  \TestAdd{-4}{1}{-3}%
-  \TestAdd{-1}{4}{3}%
-  \TestAdd{4}{-1}{3}%
-  \TestAdd{1}{-4}{-3}%
-  \TestAdd{-4}{-1}{-5}%
-  \TestAdd{-1}{-4}{-5}%
-  \TestAdd{ -4 }{ -1 }{-5}%
-  \TestAdd{ -1 }{ -4 }{-5}%
-  \TestAdd{ -4 }{ 1 }{-3}%
-  \TestAdd{ -1 }{ 4 }{3}%
-  \TestAdd{ 4 }{ -1 }{3}%
-  \TestAdd{ 1 }{ -4 }{-3}%
-  \TestAdd{ -4 }{ -1 }{-5}%
-  \TestAdd{ -1 }{ -4 }{-5}%
-  \TestAdd{876543210}{111111111}{987654321}%
-  \TestAdd{999999999}{2}{1000000001}%
-%<*etex>
-  \TestAdd{100}{50+150}{300}%
-  \TestAdd{2147483647}{10-2147483647}{10}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sub}{sub}
-  \TestSub{0}{0}{0}%
-  \TestSub{1}{0}{1}%
-  \TestSub{1}{2}{-1}%
-  \TestSub{-1}{-1}{0}%
-  \TestSub{2147483646}{-1}{2147483647}%
-  \TestSub{-2147483647}{-2147483647}{0}%
-  \TestSub{-4}{-1}{-3}%
-  \TestSub{-1}{-4}{3}%
-  \TestSub{-4}{1}{-5}%
-  \TestSub{-1}{4}{-5}%
-  \TestSub{4}{-1}{5}%
-  \TestSub{1}{-4}{5}%
-  \TestSub{-4}{-1}{-3}%
-  \TestSub{-1}{-4}{3}%
-  \TestSub{ -4 }{ -1 }{-3}%
-  \TestSub{ -1 }{ -4 }{3}%
-  \TestSub{ -4 }{ 1 }{-5}%
-  \TestSub{ -1 }{ 4 }{-5}%
-  \TestSub{ 4 }{ -1 }{5}%
-  \TestSub{ 1 }{ -4 }{5}%
-  \TestSub{ -4 }{ -1 }{-3}%
-  \TestSub{ -1 }{ -4 }{3}%
-  \TestSub{1000000000}{2}{999999998}%
-  \TestSub{987654321}{111111111}{876543210}%
-%<*etex>
-  \TestSub{100}{50+150}{-100}%
-  \TestSub{2147483647}{-10+2147483647}{10}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{shl}{shl}
-  \TestShl{0}{0}%
-  \TestShl{1}{2}%
-  \TestShl{5621}{11242}%
-  \TestShl{1073741823}{2147483646}%
-  \TestShl{-1}{-2}%
-  \TestShl{-5621}{-11242}%
-\end{qstest}
-
-\begin{qstest}{shr}{shr}
-  \TestShr{0}{0}%
-  \TestShr{1}{0}%
-  \TestShr{2}{1}%
-  \TestShr{3}{1}%
-  \TestShr{4}{2}%
-  \TestShr{5}{2}%
-  \TestShr{6}{3}%
-  \TestShr{7}{3}%
-  \TestShr{8}{4}%
-  \TestShr{9}{4}%
-  \TestShr{10}{5}%
-  \TestShr{11}{5}%
-  \TestShr{12}{6}%
-  \TestShr{13}{6}%
-  \TestShr{14}{7}%
-  \TestShr{15}{7}%
-  \TestShr{16}{8}%
-  \TestShr{17}{8}%
-  \TestShr{18}{9}%
-  \TestShr{19}{9}%
-  \TestShr{20}{10}%
-  \TestShr{21}{10}%
-  \TestShr{22}{11}%
-  \TestShr{11241}{5620}%
-  \TestShr{73054202}{36527101}%
-  \TestShr{2147483646}{1073741823}%
-  \TestShr{-1}{0}%
-  \TestShr{-2}{-1}%
-  \TestShr{-3}{-1}%
-  \TestShr{-11241}{-5620}%
-\end{qstest}
-
-\begin{qstest}{mul}{mul}
-  \TestMul{0}{0}{0}%
-  \TestMul{1}{0}{0}%
-  \TestMul{0}{1}{0}%
-  \TestMul{1}{1}{1}%
-  \TestMul{3}{1}{3}%
-  \TestMul{1}{-3}{-3}%
-  \TestMul{-4}{-5}{20}%
-  \TestMul{3}{7}{21}%
-  \TestMul{7}{3}{21}%
-  \TestMul{3}{-7}{-21}%
-  \TestMul{7}{-3}{-21}%
-  \TestMul{-3}{7}{-21}%
-  \TestMul{-7}{3}{-21}%
-  \TestMul{-3}{-7}{21}%
-  \TestMul{-7}{-3}{21}%
-  \TestMul{12}{11}{132}%
-  \TestMul{999}{333}{332667}%
-  \TestMul{1000}{4321}{4321000}%
-  \TestMul{12345}{173955}{2147474475}%
-  \TestMul{1073741823}{2}{2147483646}%
-  \TestMul{2}{1073741823}{2147483646}%
-  \TestMul{-1073741823}{2}{-2147483646}%
-  \TestMul{2}{-1073741823}{-2147483646}%
-%<*etex>
-  \TestMul{2+3}{5+7}{60}%
-  \TestMul{2147483647}{2147483647/2147483647}{2147483647}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sqr}{sqr}
-  \TestSqr{0}{0}%
-  \TestSqr{1}{1}%
-  \TestSqr{2}{4}%
-  \TestSqr{3}{9}%
-  \TestSqr{4}{16}%
-  \TestSqr{9}{81}%
-  \TestSqr{10}{100}%
-  \TestSqr{46340}{2147395600}%
-  \TestSqr{-1}{1}%
-  \TestSqr{-2}{4}%
-  \TestSqr{-46340}{2147395600}%
-\end{qstest}
-
-\begin{qstest}{pow}{pow}
-  \TestPow{-2}{0}{1}%
-  \TestPow{-1}{0}{1}%
-  \TestPow{0}{0}{1}%
-  \TestPow{1}{0}{1}%
-  \TestPow{2}{0}{1}%
-  \TestPow{3}{0}{1}%
-  \TestPow{-2}{1}{-2}%
-  \TestPow{-1}{1}{-1}%
-  \TestPow{1}{1}{1}%
-  \TestPow{2}{1}{2}%
-  \TestPow{3}{1}{3}%
-  \TestPow{-2}{2}{4}%
-  \TestPow{-1}{2}{1}%
-  \TestPow{0}{2}{0}%
-  \TestPow{1}{2}{1}%
-  \TestPow{2}{2}{4}%
-  \TestPow{3}{2}{9}%
-  \TestPow{0}{1}{0}%
-  \TestPow{1}{-2}{1}%
-  \TestPow{1}{-1}{1}%
-  \TestPow{-1}{-2}{1}%
-  \TestPow{-1}{-1}{-1}%
-  \TestPow{-1}{3}{-1}%
-  \TestPow{-1}{4}{1}%
-  \TestPow{-2}{-1}{0}%
-  \TestPow{-2}{-2}{0}%
-  \TestPow{2}{3}{8}%
-  \TestPow{2}{4}{16}%
-  \TestPow{2}{5}{32}%
-  \TestPow{2}{6}{64}%
-  \TestPow{2}{7}{128}%
-  \TestPow{2}{8}{256}%
-  \TestPow{2}{9}{512}%
-  \TestPow{2}{10}{1024}%
-  \TestPow{-2}{3}{-8}%
-  \TestPow{-2}{4}{16}%
-  \TestPow{-2}{5}{-32}%
-  \TestPow{-2}{6}{64}%
-  \TestPow{-2}{7}{-128}%
-  \TestPow{-2}{8}{256}%
-  \TestPow{-2}{9}{-512}%
-  \TestPow{-2}{10}{1024}%
-  \TestPow{3}{3}{27}%
-  \TestPow{3}{4}{81}%
-  \TestPow{3}{5}{243}%
-  \TestPow{-3}{3}{-27}%
-  \TestPow{-3}{4}{81}%
-  \TestPow{-3}{5}{-243}%
-  \TestPow{2}{30}{1073741824}%
-  \TestPow{-3}{19}{-1162261467}%
-  \TestPow{5}{13}{1220703125}%
-  \TestPow{-7}{11}{-1977326743}%
-\end{qstest}
-
-\begin{qstest}{div}{div}
-  \TestDiv{1}{1}{1}%
-  \TestDiv{2}{1}{2}%
-  \TestDiv{-2}{1}{-2}%
-  \TestDiv{2}{-1}{-2}%
-  \TestDiv{-2}{-1}{2}%
-  \TestDiv{15}{2}{7}%
-  \TestDiv{-16}{2}{-8}%
-  \TestDiv{1}{2}{0}%
-  \TestDiv{1}{3}{0}%
-  \TestDiv{2}{3}{0}%
-  \TestDiv{-2}{3}{0}%
-  \TestDiv{2}{-3}{0}%
-  \TestDiv{-2}{-3}{0}%
-  \TestDiv{13}{3}{4}%
-  \TestDiv{-13}{-3}{4}%
-  \TestDiv{-13}{3}{-4}%
-  \TestDiv{-6}{5}{-1}%
-  \TestDiv{-5}{5}{-1}%
-  \TestDiv{-4}{5}{0}%
-  \TestDiv{-3}{5}{0}%
-  \TestDiv{-2}{5}{0}%
-  \TestDiv{-1}{5}{0}%
-  \TestDiv{0}{5}{0}%
-  \TestDiv{1}{5}{0}%
-  \TestDiv{2}{5}{0}%
-  \TestDiv{3}{5}{0}%
-  \TestDiv{4}{5}{0}%
-  \TestDiv{5}{5}{1}%
-  \TestDiv{6}{5}{1}%
-  \TestDiv{-5}{4}{-1}%
-  \TestDiv{-4}{4}{-1}%
-  \TestDiv{-3}{4}{0}%
-  \TestDiv{-2}{4}{0}%
-  \TestDiv{-1}{4}{0}%
-  \TestDiv{0}{4}{0}%
-  \TestDiv{1}{4}{0}%
-  \TestDiv{2}{4}{0}%
-  \TestDiv{3}{4}{0}%
-  \TestDiv{4}{4}{1}%
-  \TestDiv{5}{4}{1}%
-  \TestDiv{12345}{678}{18}%
-  \TestDiv{32372}{5952}{5}%
-  \TestDiv{284271294}{18162}{15651}%
-  \TestDiv{217652429}{12561}{17327}%
-  \TestDiv{462028434}{5439}{84947}%
-  \TestDiv{2147483647}{1000}{2147483}%
-  \TestDiv{2147483647}{-1000}{-2147483}%
-  \TestDiv{-2147483647}{1000}{-2147483}%
-  \TestDiv{-2147483647}{-1000}{2147483}%
-\end{qstest}
-
-\begin{qstest}{mod}{mod}
-  \TestMod{-6}{5}{4}%
-  \TestMod{-5}{5}{0}%
-  \TestMod{-4}{5}{1}%
-  \TestMod{-3}{5}{2}%
-  \TestMod{-2}{5}{3}%
-  \TestMod{-1}{5}{4}%
-  \TestMod{0}{5}{0}%
-  \TestMod{1}{5}{1}%
-  \TestMod{2}{5}{2}%
-  \TestMod{3}{5}{3}%
-  \TestMod{4}{5}{4}%
-  \TestMod{5}{5}{0}%
-  \TestMod{6}{5}{1}%
-  \TestMod{-5}{4}{3}%
-  \TestMod{-4}{4}{0}%
-  \TestMod{-3}{4}{1}%
-  \TestMod{-2}{4}{2}%
-  \TestMod{-1}{4}{3}%
-  \TestMod{0}{4}{0}%
-  \TestMod{1}{4}{1}%
-  \TestMod{2}{4}{2}%
-  \TestMod{3}{4}{3}%
-  \TestMod{4}{4}{0}%
-  \TestMod{5}{4}{1}%
-  \TestMod{-6}{-5}{-1}%
-  \TestMod{-5}{-5}{0}%
-  \TestMod{-4}{-5}{-4}%
-  \TestMod{-3}{-5}{-3}%
-  \TestMod{-2}{-5}{-2}%
-  \TestMod{-1}{-5}{-1}%
-  \TestMod{0}{-5}{0}%
-  \TestMod{1}{-5}{-4}%
-  \TestMod{2}{-5}{-3}%
-  \TestMod{3}{-5}{-2}%
-  \TestMod{4}{-5}{-1}%
-  \TestMod{5}{-5}{0}%
-  \TestMod{6}{-5}{-4}%
-  \TestMod{-5}{-4}{-1}%
-  \TestMod{-4}{-4}{0}%
-  \TestMod{-3}{-4}{-3}%
-  \TestMod{-2}{-4}{-2}%
-  \TestMod{-1}{-4}{-1}%
-  \TestMod{0}{-4}{0}%
-  \TestMod{1}{-4}{-3}%
-  \TestMod{2}{-4}{-2}%
-  \TestMod{3}{-4}{-1}%
-  \TestMod{4}{-4}{0}%
-  \TestMod{5}{-4}{-3}%
-  \TestMod{2147483647}{1000}{647}%
-  \TestMod{2147483647}{-1000}{-353}%
-  \TestMod{-2147483647}{1000}{353}%
-  \TestMod{-2147483647}{-1000}{-647}%
-  \TestMod{ 0 }{ 4 }{0}%
-  \TestMod{ 1 }{ 4 }{1}%
-  \TestMod{ -1 }{ 4 }{3}%
-  \TestMod{ 0 }{ -4 }{0}%
-  \TestMod{ 1 }{ -4 }{-3}%
-  \TestMod{ -1 }{ -4 }{-1}%
-%<*etex>
-  \TestMod{1+2}{1+3}{3}%
-  \TestMod{1-2}{1+3}{3}%
-  \TestMod{1-2}{1-4}{-1}%
-  \TestMod{1+2}{1-4}{0}%
-  \TestMod{1+2}{1-5}{-1}%
-%</etex>
-\end{qstest}
-%</test2|test4>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*test2>
-\newcommand*{\TestError}[2]{%
-  \begingroup
-    \expandafter\def\csname IntCalcError:#1\endcsname{}%
-    \Expect*{#2}{0}%
-    \expandafter\def\csname IntCalcError:#1\endcsname{ERROR}%
-    \Expect*{#2}{0ERROR }%
-  \endgroup
-}
-\begin{qstest}{error}{error}
-  \TestError{FacNegative}{\intcalcFac{-1}}%
-  \TestError{FacNegative}{\intcalcFac{-2147483647}}%
-  \TestError{FacOverflow}{\intcalcFac{13}}%
-  \TestError{FacOverflow}{\intcalcFac{2147483647}}%
-  \TestError{DivisionByZero}{\intcalcPow{0}{-1}}%
-  \TestError{DivisionByZero}{\intcalcDiv{1}{0}}%
-  \TestError{DivisionByZero}{\intcalcMod{1}{0}}%
-  \TestError{DivisionByZero}{\IntCalcDiv1!0!}%
-  \TestError{DivisionByZero}{\IntCalcMod1!0!}%
-\end{qstest}
-%</test2>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*test2|test4>
-\begin{document}
-\end{document}
-%</test2|test4>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -4116,10 +3145,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   intcalc.sty & tex/generic/oberdiek/intcalc.sty\\
 %   intcalc.pdf & doc/latex/oberdiek/intcalc.pdf\\
-%   test/intcalc-test1.tex & doc/latex/oberdiek/test/intcalc-test1.tex\\
-%   test/intcalc-test2.tex & doc/latex/oberdiek/test/intcalc-test2.tex\\
-%   test/intcalc-test3.tex & doc/latex/oberdiek/test/intcalc-test3.tex\\
-%   test/intcalc-test4.tex & doc/latex/oberdiek/test/intcalc-test4.tex\\
 %   intcalc.dtx & source/latex/oberdiek/intcalc.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,7 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/kvdefinekeys.sty
 %    TDS:doc/latex/oberdiek/kvdefinekeys.pdf
-%    TDS:doc/latex/oberdiek/test/kvdefinekeys-test1.tex
 %    TDS:source/latex/oberdiek/kvdefinekeys.dtx
 %
 %<*ignore>
@@ -137,10 +136,6 @@
   \file{kvdefinekeys.sty}{\from{kvdefinekeys.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{kvdefinekeys-test1.tex}{\from{kvdefinekeys.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{kvdefinekeys.xml}{\from{kvdefinekeys.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -177,21 +172,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{kvdefinekeys.drv}
 %
@@ -428,119 +408,8 @@
 \KVD at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input kvdefinekeys.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -588,7 +457,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   kvdefinekeys.sty & tex/generic/oberdiek/kvdefinekeys.sty\\
 %   kvdefinekeys.pdf & doc/latex/oberdiek/kvdefinekeys.pdf\\
-%   test/kvdefinekeys-test1.tex & doc/latex/oberdiek/test/kvdefinekeys-test1.tex\\
 %   kvdefinekeys.dtx & source/latex/oberdiek/kvdefinekeys.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -69,10 +69,6 @@
 %    TDS:tex/generic/oberdiek/kvsetkeys.sty
 %    TDS:doc/latex/oberdiek/kvsetkeys.pdf
 %    TDS:doc/latex/oberdiek/kvsetkeys-example.tex
-%    TDS:doc/latex/oberdiek/test/kvsetkeys-test1.tex
-%    TDS:doc/latex/oberdiek/test/kvsetkeys-test2.tex
-%    TDS:doc/latex/oberdiek/test/kvsetkeys-test3.tex
-%    TDS:doc/latex/oberdiek/test/kvsetkeys-test4.tex
 %    TDS:source/latex/oberdiek/kvsetkeys.dtx
 %
 %<*ignore>
@@ -150,10 +146,6 @@
 %  \file{kvsetkeys-test2.tex}{\from{kvsetkeys.dtx}{test2}}%
 %  \file{kvsetkeys-test3.tex}{\from{kvsetkeys.dtx}{test2,noetex}}%
 %  \file{kvsetkeys-test4.tex}{\from{kvsetkeys.dtx}{test4}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{kvsetkeys.xml}{\from{kvsetkeys.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -190,21 +182,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{kvsetkeys.drv}
 %
@@ -1426,441 +1403,8 @@
 \KVS at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input kvsetkeys.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedUnexpanded\unexpanded
-%<noetex>\let\unexpanded\UNDEFINED
-\makeatletter
-\chardef\KVS at TestMode=1 %
-\makeatother
-\usepackage{kvsetkeys}[2016/05/16]
-%<noetex>\let\unexpanded\SavedUnexpanded
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%    \end{macrocode}
-%
-% \subsubsection{Time}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
-  \makeatletter
-  \newcount\SummaryTime
-  \newcount\TestTime
-  \SummaryTime=\z@
-  \newcommand*{\PrintTime}[2]{%
-    \typeout{%
-      [Time #1: \strip at pt\dimexpr\number#2sp\relax\space s]%
-    }%
-  }%
-  \newcommand*{\StartTime}[1]{%
-    \renewcommand*{\TimeDescription}{#1}%
-    \pdfresettimer
-  }%
-  \newcommand*{\TimeDescription}{}%
-  \newcommand*{\StopTime}{%
-    \TestTime=\pdfelapsedtime
-    \global\advance\SummaryTime\TestTime
-    \PrintTime\TimeDescription\TestTime
-  }%
-  \let\saved at qstest\qstest
-  \let\saved at endqstest\endqstest
-  \def\qstest#1#2{%
-    \saved at qstest{#1}{#2}%
-    \StartTime{#1}%
-  }%
-  \def\endqstest{%
-    \StopTime
-    \saved at endqstest
-  }%
-  \AtEndDocument{%
-    \PrintTime{summary}\SummaryTime
-  }%
-  \makeatother
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-%    \begin{macrocode}
-\makeatletter
-\def\@makeactive#1{%
-  \catcode`#1=13\relax
-}
-\@makeactive\,
-\def,{\errmessage{COMMA}}
-\@makeother\,
-\@makeactive\=
-\def={\errmessage{EQUALS}}
-\@makeother\=
-
-\begin{qstest}{normalize}{normalize,active-chars,space-removal}%
-  \long\def\Test#1#2{%
-    \@makeother\,%
-    \@makeother\=%
-    \scantokens{\toks@={#2}}%
-    \edef\Result{\the\toks@}%
-    \@makeother\,%
-    \@makeother\=%
-    \@Test{#1}%
-    \@makeactive\,%
-    \@Test{#1}%
-    \@makeactive\=%
-    \@Test{#1}%
-    \@makeother\,%
-    \@Test{#1}%
-    \@makeother\=%
-  }%
-  \long\def\@Test#1{%
-    \scantokens{\kv at normalize{#1}}%
-    \expandafter\expandafter\expandafter\Expect
-    \expandafter\expandafter\expandafter
-    {\expandafter\kv at list\expandafter}\expandafter{\Result}%
-    \Expect*{\ifx\kv at list\Result true\else false\fi}{true}%
-  }%
-  \Test{}{,}%
-  \Test{,}{,}%
-  \Test{,,}{,}%
-  \Test{,,,}{,}%
-  \Test{ , }{,}%
-  \Test{{a}}{,{a},}%
-  \Test{,{a}}{,{a},}%
-  \Test{{a},}{,{a},}%
-  \Test{{a},{b}}{,{a},{b},}%
-  \Test{{b}={c},{}=,{}={},{d}=}{,{b}={c},{}=,{}={},{d}=,}%
-  \Test{{}}{,{},}%
-  \Test{{},{},{}}{,{},{},{},}%
-  \Test{=}{,=,}%
-  \Test{=,=,=}{,=,=,=,}%
-  \Test{a=\par}{,a=\par,}%
-  \Test{\par}{,\par,}%
-  \def\TestSet#1{%
-    \Test{#1#1}{,}%
-    \Test{#1#1,#1#1}{,}%
-    \Test{#1#1,#1#1,#1#1}{,}%
-    \Test{#1#1#1#1#1}{,}%
-    \Test{{a}#1#1=#1#1{b}}{,{a}={b},}%
-  }%
-  \TestSet{ }%
-  \begingroup
-    \let\saved at normalize\kv at normalize
-    \def\kv at normalize#1{%
-      \saved at normalize{#1}%
-      \@onelevel at sanitize\kv at list
-      \@onelevel at sanitize\Result
-    }%
-    \Test{#,#=#,{#}={#},{#}=,{#}}{,#,#=#,{#}={#},{#}=,{#},}%
-  \endgroup
-  \begingroup
-    \def\Test#1#2{%
-      \edef\Result{#2}%
-      \@Test{#1}%
-    }%
-    \Test{{ a = b }}{,{ a = b },}%
-    \@makeactive\,%
-    \Test{{,}}{\string,{\noexpand,}\string,}%
-    \@makeother\,%
-    \@makeactive\=%
-    \Test{a={=}}{,a\string={\noexpand=},}%
-  \endgroup
-  \Test{a=b}{,a=b,}%
-  \Test{a={b}}{,a={b},}%
-  \Test{a ={b}}{,a={b},}%
-  \Test{a= {b}}{,a={b},}%
-  \Test{a = {b}}{,a={b},}%
-  \Test{a = {b} ,}{,a={b},}%
-  \Test{a}{,a,}%
-  \Test{ a}{,a,}%
-  \Test{a }{,a,}%
-  \Test{ a }{,a,}%
-  \Test{, a ,}{,a,}%
-  \Test{, a b ,}{,a b,}%
-  \Test{,a ,}{,a,}%
-  \Test{ a =}{,a=,}%
-  \Test{ a = }{,a=,}%
-  \Test{a =}{,a=,}%
-  \Test{{a} =}{,{a}=,}%
-  \Test{{a}= {}}{,{a}={},}%
-  \Test{, a = {}}{,a={},}%
-  \Test{a,,b}{,a,b,}%
-  \Test{a=\fi}{,a=\fi,}%
-  \Test{a=\iffalse}{,a=\iffalse,}%
-  \Test{a=\iffalse,b=\fi}{,a=\iffalse,b=\fi,}%
-\end{qstest}
-
-\begin{qstest}{parse}{parse,brace-removal}
-  \def\Processor#1#2{%
-    \expandafter\Expect\expandafter{\kv at key}{#1}%
-    \toks@{#2}%
-    \edef\x{\the\toks@}%
-    \ifx\kv at value\relax
-      \Expect*{\the\toks@}{}%
-      \def\Value{<>}%
-    \else
-      \edef\Value{[\the\toks@]}%
-      \@onelevel at sanitize\Value
-    \fi
-    \toks@{#1}%
-    \ifx\Result\@empty
-      \edef\Result{[\the\toks@]=\Value}%
-    \else
-      \edef\Result{\Result,[\the\toks@]=\Value}%
-    \fi
-    \@onelevel at sanitize\Result
-  }%
-  \def\Test#1#2{%
-    \sbox0{%
-      \let\Result\@empty
-      \kv at parse{#1}\Processor
-      \Expect*{\Result}{#2}%
-    }%
-    \Expect*{\the\wd0}{0.0pt}%
-  }%
-  \Test{}{}%
-  \Test{{}}{}%
-  \Test{{{}}}{[]=<>}%
-  \Test{{{{}}}}{[{}]=<>}%
-  \Test{a}{[a]=<>}%
-  \Test{{a}}{[a]=<>}%
-  \Test{{a}}{[a]=<>}%
-  \Test{{{a}}}{[a]=<>}%
-  \Test{{{{a}}}}{[{a}]=<>}%
-  \Test{a=}{[a]=[]}%
-  \Test{{a}=}{[a]=[]}%
-  \Test{{{a}}=}{[{a}]=[]}%
-  \Test{a={}}{[a]=[]}%
-  \Test{{a}={{}}}{[a]=[{}]}%
-  \Test{a=b}{[a]=[b]}%
-  \Test{a=\fi}{[a]=[\fi]}%
-  \Test{a=\iffalse}{[a]=[\iffalse]}%
-  \Test{a=\iffalse,b=\fi}{[a]=[\iffalse],[b]=[\fi]}%
-  \Test{{ a = b }}{[ a ]=[ b ]}%
-  \Test{{{ a = b }}}{[ a = b ]=<>}%
-\end{qstest}
-
-\begin{qstest}{comma}{comma,parse}
-  \def\Processor#1{%
-    \expandafter\Expect\expandafter{\comma at entry}{#1}%
-    \toks@{#1}%
-    \ifx\Result\@empty
-      \edef\Result{[\the\toks@]}%
-    \else
-      \edef\Result{\Result,[\the\toks@]}%
-    \fi
-    \@onelevel at sanitize\Result
-  }%
-  \def\Test#1#2{%
-    \sbox0{%
-      \let\Result\@empty
-      \comma at parse{#1}\Processor
-      \Expect*{\Result}{#2}%
-    }%
-    \Expect*{\the\wd0}{0.0pt}%
-  }%
-  \Test{}{}%
-  \Test{{}}{}%
-  \Test{{{}}}{[{}]}%
-  \Test{a}{[a]}%
-  \Test{{a}}{[a]}%
-  \Test{{{a}}}{[{a}]}%
-  \Test{a=}{[a=]}%
-  \Test{a\fi}{[a\fi]}%
-  \Test{a\iffalse}{[a\iffalse]}%
-  \Test{\iffalse,\fi}{[\iffalse],[\fi]}%
-  \Test{ a , b , c }{[a],[b],[c]}%
-  \Test{ { } ,{ }, { }, { } , { } }{[ ],[ ],[ ],[ ],[ ]}%
-  \Test{ {{}} ,{{}}, {{}}, {{}} , {{}} }{[{}],[{}],[{}],[{}],[{}]}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \subsection{Tests for key value processing handler}
-%
-%    \begin{macrocode}
-%<*test4>
-\catcode`\{=1
-\catcode`\}=2
-\catcode`\#=6
-\catcode`\@=11
-\input kvdefinekeys.sty\relax
-\input kvsetkeys.sty\relax
-\input infwarerr.sty\relax
-\def\Error#1{%
-  \@PackageError{test}{#1}\@ehc
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\temp#1#2{%
-  \kv at define@key{#1}{#2}{%
-    \edef\result{%
-      \result
-      [#1:#2=##1]% hash-ok
-    }%
-  }%
-}
-\temp{FA}{key1}
-\temp{FA}{key2}
-\temp{FB}{key3}
-\temp{FB}{key3}
-%    \end{macrocode}
-%    \begin{macrocode}
-\setbox0=\hbox{%
-  \def\result{}%
-  \kvsetknownkeys{FA}\cmd{key1=234,key3=456}%
-  \def\expected{[FA:key1=234]}%
-  \ifx\expected\result
-  \else
-    \Error{%
-      \string\kvsetknownkeys/\string\result\MessageBreak
-      Expected: \expected\MessageBreak
-      Result: \space\result
-    }%
-  \fi
-  \def\expected{{key3}={456}}%
-  \ifx\cmd\expected
-  \else
-    \Error{%
-      \string\kvsetknownkeys/\string\cmd\MessageBreak
-      Expected: \expected\MessageBreak
-      Result: \space\cmd
-    }%
-  \fi
-}
-\ifdim\wd0=0pt %
-\else
-  \Error{Spurious spaces?}%
-\fi
-%    \end{macrocode}
-%    \begin{macrocode}
-\csname @@end\endcsname\end
-%</test4>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1909,10 +1453,6 @@
 %   kvsetkeys.sty & tex/generic/oberdiek/kvsetkeys.sty\\
 %   kvsetkeys.pdf & doc/latex/oberdiek/kvsetkeys.pdf\\
 %   kvsetkeys-example.tex & doc/latex/oberdiek/kvsetkeys-example.tex\\
-%   test/kvsetkeys-test1.tex & doc/latex/oberdiek/test/kvsetkeys-test1.tex\\
-%   test/kvsetkeys-test2.tex & doc/latex/oberdiek/test/kvsetkeys-test2.tex\\
-%   test/kvsetkeys-test3.tex & doc/latex/oberdiek/test/kvsetkeys-test3.tex\\
-%   test/kvsetkeys-test4.tex & doc/latex/oberdiek/test/kvsetkeys-test4.tex\\
 %   kvsetkeys.dtx & source/latex/oberdiek/kvsetkeys.dtx\\
 % \end{tabular}^^A
 % }^^A

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,1153 +0,0 @@
-% \iffalse meta-comment
-%
-% File: letltxmacro.dtx
-% Version: 2016/05/16 v1.5
-% Info: Let assignment for LaTeX macros
-%
-% Copyright (C)
-%    2008, 2010 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% This work consists of the main source file letltxmacro.dtx
-% and the derived files
-%    letltxmacro.sty, letltxmacro.pdf, letltxmacro.ins, letltxmacro.drv,
-%    letltxmacro-showcases.tex, letltxmacro-test1.tex,
-%    letltxmacro-test2.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/letltxmacro.dtx
-%    CTAN:macros/latex/contrib/oberdiek/letltxmacro.pdf
-%
-% Unpacking:
-%    (a) If letltxmacro.ins is present:
-%           tex letltxmacro.ins
-%    (b) Without letltxmacro.ins:
-%           tex letltxmacro.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{letltxmacro.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If letltxmacro.drv is present:
-%           latex letltxmacro.drv
-%    (b) Without letltxmacro.drv:
-%           latex letltxmacro.dtx; ...
-%    The class ltxdoc loads the configuration file ltxdoc.cfg
-%    if available. Here you can specify further options, e.g.
-%    use A4 as paper format:
-%       \PassOptionsToClass{a4paper}{article}
-%
-%    Programm calls to get the documentation (example):
-%       pdflatex letltxmacro.dtx
-%       makeindex -s gind.ist letltxmacro.idx
-%       pdflatex letltxmacro.dtx
-%       makeindex -s gind.ist letltxmacro.idx
-%       pdflatex letltxmacro.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/letltxmacro.sty
-%    TDS:doc/latex/oberdiek/letltxmacro.pdf
-%    TDS:doc/latex/oberdiek/letltxmacro-showcases.tex
-%    TDS:doc/latex/oberdiek/test/letltxmacro-test1.tex
-%    TDS:doc/latex/oberdiek/test/letltxmacro-test2.tex
-%    TDS:source/latex/oberdiek/letltxmacro.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: letltxmacro
-Version: 2016/05/16 v1.5
-
-Copyright (C)
-   2008, 2010 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-This work consists of the main source file letltxmacro.dtx
-and the derived files
-   letltxmacro.sty, letltxmacro.pdf, letltxmacro.ins, letltxmacro.drv,
-   letltxmacro-showcases.tex, letltxmacro-test1.tex,
-   letltxmacro-test2.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{letltxmacro.ins}{\from{letltxmacro.dtx}{install}}%
-  \file{letltxmacro.drv}{\from{letltxmacro.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{letltxmacro.sty}{\from{letltxmacro.dtx}{package}}%
-  \usedir{doc/latex/oberdiek}%
-  \file{letltxmacro-showcases.tex}{\from{letltxmacro.dtx}{showcases}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{letltxmacro-test1.tex}{\from{letltxmacro.dtx}{test1}}%
-%  \file{letltxmacro-test2.tex}{\from{letltxmacro.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{letltxmacro.xml}{\from{letltxmacro.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     letltxmacro.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `letltxmacro.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{letltxmacro.drv}%
-  [2016/05/16 v1.5 Let assignment for LaTeX macros (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{letltxmacro.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
-%
-% \GetFileInfo{letltxmacro.drv}
-%
-% \title{The \xpackage{letltxmacro} package}
-% \date{2016/05/16 v1.5}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% \TeX's \cs{let} assignment does not work for \LaTeX\ macros
-% with optional arguments or for macros that are defined
-% as robust macros by \cs{DeclareRobustCommand}. This package
-% defines \cs{LetLtxMacro} that also takes care of the involved
-% internal macros.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% If someone wants to redefine a macro with using the old
-% meaning, then one method is \TeX's command \cs{let}:
-%\begin{quote}
-%\begin{verbatim}
-%\newcommand{\Macro}{\typeout{Test Macro}}
-%\let\SavedMacro=\Macro
-%\renewcommand{\Macro}{%
-%  \typeout{Begin}%
-%  \SavedMacro
-%  \typeout{End}%
-%}
-%\end{verbatim}
-%\end{quote}
-% However, this method fails, if \cs{Macro} is defined
-% by \cs{DeclareRobustCommand} and/or has an optional argument.
-% In both cases \LaTeX\ defines an additional internal macro
-% that is forgotten in the simple \cs{let} assignment of
-% the example above.
-%
-% \begin{declcs}{LetLtxMacro} \M{new macro} \M{old macro}
-% \end{declcs}
-% Macro \cs{LetLtxMacro} behaves similar to \TeX's \cs{let}
-% assignment, but it takes care of macros that are
-% defined by \cs{DeclareRobustCommand} and/or have optional
-% arguments. Example:
-%\begin{quote}
-%\begin{verbatim}
-%\DeclareRobustCommand{\Macro}[1][default]{...}
-%\LetLtxMacro{\SavedMacro}{\Macro}
-%\end{verbatim}
-%\end{quote}
-% Then macro \cs{SavedMacro} only uses internal macro names
-% that are derived from \cs{SavedMacro}'s macro name. Macro \cs{Macro}
-% can now be redefined without affecting \cs{SavedMacro}.
-%
-% \begin{declcs}{GlobalLetLtxMacro} \M{new macro} \M{old macro}
-% \end{declcs}
-% Like \cs{LetLtxMacro}, but the \meta{new macro} is defined globally.
-% Since version 2016/05/16~v1.4.
-%
-% \subsection{Supported macro definition commands}
-%
-% \begin{quote}
-%   \begin{tabular}{@{}ll@{}}
-%     \cs{newcommand}, \cs{renewcommand} & latex/base\\
-%     \cs{newenvironment}, \cs{renewenvironment} & latex/base\\
-%     \cs{DeclareRobustCommand}& latex/base\\
-%     \cs{newrobustcmd}, \cs{renewrobustcmd} & etoolbox\\
-%     \cs{robustify} & etoolbox 2008/06/22 v1.6\\
-%   \end{tabular}
-% \end{quote}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Show cases}
-%
-% \subsubsection{\xfile{letltxmacro-showcases.tex}}
-%
-%    \begin{macrocode}
-%<*showcases>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-%    \end{macrocode}
-%    \begin{macro}{\Line}
-%    The result is displayed by macro \cs{Line}. The percent symbol
-%    at line start allows easy grepping and inserting into the DTX
-%    file.
-%    \begin{macrocode}
-\newcommand*{\Line}[1]{%
-  \typeout{\@percentchar#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\newcommand*{\ShowCmdName}[1]{%
-  \@ifundefined{#1}{}{%
-    \Line{%
-      \space\space(\expandafter\string\csname#1\endcsname) = %
-      (\expandafter\meaning\csname#1\endcsname)%
-    }%
-  }%
-}
-\newcommand*{\ShowCmds}[1]{%
-  \ShowCmdName{#1}%
-  \ShowCmdName{#1 }%
-  \ShowCmdName{\\#1}%
-  \ShowCmdName{\\#1 }%
-}
-\let\\\@backslashchar
-%    \end{macrocode}
-%    \begin{macro}{\ShowDef}
-%    \begin{macrocode}
-\newcommand*{\ShowDef}[2]{%
-  \begingroup
-    \Line{}%
-    \newcommand*{\DefString}{#2}%
-    \@onelevel at sanitize\DefString
-    \Line{\DefString}%
-    #2%
-    \ShowCmds{#1}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\typeout{}
-\Line{* LaTeX definitions:}
-\ShowDef{cmd}{%
-  \newcommand{\cmd}[2][default]{}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}{}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}[2][default]{}%
-}
-\typeout{}
-%    \end{macrocode}
-% The minimal version of package \xpackage{etoolbox} is 2008/06/12 v1.6a
-% because it fixes \cs{robustify}.
-%    \begin{macrocode}
-\RequirePackage{etoolbox}[2008/06/12]%
-\Line{}
-\Line{* etoolbox's robust definitions:}
-\ShowDef{cmd}{%
-  \newrobustcmd{\cmd}{}%
-}
-\ShowDef{cmd}{%
-  \newrobustcmd{\cmd}[2][default]{}%
-}
-\Line{}
-\Line{* etoolbox's \string\robustify:}
-\ShowDef{cmd}{%
-  \newcommand{\cmd}[2][default]{} %
-  \robustify{\cmd}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}{} %
-  \robustify{\cmd}%
-}
-\ShowDef{cmd}{%
-  \DeclareRobustCommand{\cmd}[2][default]{} %
-  \robustify{\cmd}%
-}
-\typeout{}
-\@@end
-%</showcases>
-%    \end{macrocode}
-%
-% \subsubsection{Result}
-%
-% \begingroup
-%   \makeatletter
-%   \let\org at verbatim\@verbatim
-%   \def\@verbatim{^^A
-%     \org at verbatim
-%     \catcode`\~=\active
-%   }^^A
-%   \let~\textvisiblespace
-%\begin{verbatim}
-%* LaTeX definitions:
-%
-%\newcommand {\cmd }[2][default]{}
-%  (\cmd) = (macro:->\@protected at testopt \cmd \\cmd {default})
-%  (\\cmd) = (\long macro:[#1]#2->)
-%
-%\DeclareRobustCommand {\cmd }{}
-%  (\cmd) = (macro:->\protect \cmd~ )
-%  (\cmd~) = (\long macro:->)
-%
-%\DeclareRobustCommand {\cmd }[2][default]{}
-%  (\cmd) = (macro:->\protect \cmd~ )
-%  (\cmd~) = (macro:->\@protected at testopt \cmd~ \\cmd~ {default})
-%  (\\cmd~) = (\long macro:[#1]#2->)
-%
-%* etoolbox's robust definitions:
-%
-%\newrobustcmd {\cmd }{}
-%  (\cmd) = (\protected\long macro:->)
-%
-%\newrobustcmd {\cmd }[2][default]{}
-%  (\cmd) = (\protected macro:->\@testopt \\cmd {default})
-%  (\\cmd) = (\long macro:[#1]#2->)
-%
-%* etoolbox's \robustify:
-%
-%\newcommand {\cmd }[2][default]{} \robustify {\cmd }
-%  (\cmd) = (\protected macro:->\@protected at testopt \cmd \\cmd {default})
-%  (\\cmd) = (\long macro:[#1]#2->)
-%
-%\DeclareRobustCommand {\cmd }{} \robustify {\cmd }
-%  (\cmd) = (\protected macro:->)
-%
-%\DeclareRobustCommand {\cmd }[2][default]{} \robustify {\cmd }
-%  (\cmd) = (\protected macro:->\@protected at testopt \cmd~ \\cmd~ {default})
-%  (\cmd~) = (macro:->\@protected at testopt \cmd~ \\cmd~ {default})
-%  (\\cmd~) = (\long macro:[#1]#2->)
-%\end{verbatim}
-% \endgroup
-%
-% \subsection{Package}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsubsection{Catcodes and identification}
-%
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname llm at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\llm at AtEnd{%
-    \llm at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\llm at AtEnd{%
-  \llm at AtEnd
-  \escapechar\the\escapechar\relax
-  \noexpand\endinput
-}
-\escapechar=92 % `\\
-%    \end{macrocode}
-%
-%    Package identification.
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{letltxmacro}%
-  [2016/05/16 v1.5 Let assignment for LaTeX macros (HO)]
-%    \end{macrocode}
-%
-% \subsubsection{Main macros}
-%
-%    \begin{macro}{\LetLtxMacro}
-%    \begin{macrocode}
-\newcommand*{\LetLtxMacro}{%
-  \llm at ModeLetLtxMacro{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\GlobalLetLtxMacro}
-%    \begin{macrocode}
-\newcommand*{\GlobalLetLtxMacro}{%
-  \llm at ModeLetLtxMacro\global
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\llm at ModeLetLtxMacro}
-%    \begin{macrocode}
-\newcommand*{\llm at ModeLetLtxMacro}[3]{%
-  \edef\llm at escapechar{\the\escapechar}%
-  \escapechar=-1 %
-  \edef\reserved at a{%
-    \noexpand\protect
-    \expandafter\noexpand
-    \csname\string#3 \endcsname
-  }%
-  \ifx\reserved at a#3\relax
-    #1\edef#2{%
-      \noexpand\protect
-      \expandafter\noexpand
-      \csname\string#2 \endcsname
-    }%
-    #1\expandafter\let
-    \csname\string#2 \expandafter\endcsname
-    \csname\string#3 \endcsname
-    \expandafter\llm at LetLtxMacro
-        \csname\string#2 \expandafter\endcsname
-        \csname\string#3 \endcsname{#1}%
-  \else
-    \llm at LetLtxMacro{#2}{#3}{#1}%
-  \fi
-  \escapechar=\llm at escapechar\relax
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\llm at LetLtxMacro}
-%    \begin{macrocode}
-\def\llm at LetLtxMacro#1#2#3{%
-  \escapechar=92 %
-  \expandafter\llm at CheckParams\meaning#2:->\@nil{%
-    \begingroup
-      \def\@protected at testopt{%
-        \expandafter\@testopt\@gobble
-      }%
-      \def\@testopt##1##2{%
-        \toks@={##2}%
-      }%
-      \let\llm at testopt\@empty
-      \edef\x{%
-        \noexpand\@protected at testopt
-        \noexpand#2%
-        \expandafter\noexpand\csname\string#2\endcsname
-      }%
-      \expandafter\expandafter\expandafter\def
-      \expandafter\expandafter\expandafter\y
-      \expandafter\expandafter\expandafter{%
-        \expandafter\llm at CarThree#2{}{}{}\llm at nil
-      }%
-      \ifx\x\y
-        #2%
-        \def\llm at testopt{%
-          \noexpand\@protected at testopt
-          \noexpand#1%
-        }%
-      \else
-        \edef\x{%
-          \noexpand\@testopt
-          \expandafter\noexpand
-          \csname\string#2\endcsname
-        }%
-        \expandafter\expandafter\expandafter\def
-        \expandafter\expandafter\expandafter\y
-        \expandafter\expandafter\expandafter{%
-          \expandafter\llm at CarTwo#2{}{}\llm at nil
-        }%
-        \ifx\x\y
-          #2%
-          \def\llm at testopt{%
-            \noexpand\@testopt
-          }%
-        \fi
-      \fi
-      \ifx\llm at testopt\@empty
-      \else
-        \llm at protected\xdef\llm at GlobalTemp{%
-          \llm at testopt
-          \expandafter\noexpand
-          \csname\string#1\endcsname
-          {\the\toks@}%
-        }%
-      \fi
-    \expandafter\endgroup\ifx\llm at testopt\@empty
-      #3\let#1=#2\relax
-    \else
-      #3\let#1=\llm at GlobalTemp
-      #3\expandafter\let
-          \csname\string#1\expandafter\endcsname
-          \csname\string#2\endcsname
-    \fi
-  }{%
-    #3\let#1=#2\relax
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\llm at CheckParams}
-%    \begin{macrocode}
-\def\llm at CheckParams#1:->#2\@nil{%
-  \begingroup
-    \def\x{#1}%
-  \ifx\x\llm at macro
-    \endgroup
-    \def\llm at protected{}%
-    \expandafter\@firstoftwo
-  \else
-    \ifx\x\llm at protectedmacro
-      \endgroup
-      \def\llm at protected{\protected}%
-      \expandafter\expandafter\expandafter\@firstoftwo
-    \else
-      \endgroup
-      \expandafter\expandafter\expandafter\@secondoftwo
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\llm at macro}
-%    \begin{macrocode}
-\def\llm at macro{macro}
-\@onelevel at sanitize\llm at macro
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\llm at protectedmacro}
-%    \begin{macrocode}
-\def\llm at protectedmacro{\protected macro}
-\@onelevel at sanitize\llm at protectedmacro
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\llm at CarThree}
-%    \begin{macrocode}
-\def\llm at CarThree#1#2#3#4\llm at nil{#1#2#3}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\llm at CarTwo}
-%    \begin{macrocode}
-\def\llm at CarTwo#1#2#3\llm at nil{#1#2}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\llm at AtEnd%
-%</package>
-%    \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@\@ne
-  \repeat
-}
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{127}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\{=1 %
-  \catcode`\}=2 %
-  \catcode`\#=6 %
-  \catcode`\[=12 %
-  \catcode`\]=12 %
-  \catcode`\%=14 %
-  \catcode`\ =10 %
-  \catcode13=5 %
-  \RequirePackage{letltxmacro}[2016/05/16]\relax
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Package tests}
-%
-%    \begin{macrocode}
-%<*test2>
-%    \end{macrocode}
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-
-\usepackage{letltxmacro}[2016/05/16]
-
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\makeatletter
-
-\def\TestDef#1{%
-  \begingroup
-    \@makeother\\%
-    \@makeother\ %
-    \expandafter\@TestDef\csname #1\endcsname
-}
-\def\@TestDef#1#2{%
-    \edef\a{\expandafter\strip at prefix\meaning#1}%
-    \edef\b{\detokenize{#2}}%
-    \ifx\a\b
-    \else
-      \typeout{1 [\a]}%
-      \typeout{2 [\b]}%
-    \fi
-  \endgroup
-  \Expect*{\expandafter\strip at prefix\meaning#1}*{\detokenize{#2}}%
-}
-\def\TestEquals#1#2{%
-  \Expect*{%
-    \expandafter\ifx\csname#1\expandafter\endcsname
-                    \csname#2\endcsname
-      equals%
-    \else
-      wrong%
-    \fi
-  }{equals}%
-}
-\def\SaveA{%
-  \let\SavedA\TestA
-  \expandafter\let\csname\string\SavedA\expandafter\endcsname
-                  \csname\string\TestA\endcsname
-  \expandafter\let\csname SavedA \expandafter\endcsname
-                  \csname TestA \endcsname
-}
-\def\CheckA{%
-  \TestEquals{SavedA}{TestA}%
-  \TestEquals{\string\SavedA}{\string\TestA}%
-  \TestEquals{SavedA }{TestA }%
-}
-
-\begin{qstest}{robust}{robust}
-  \begingroup
-    \DeclareRobustCommand*{\TestA}{Test}%
-    \SaveA
-    \TestDef{TestA}{\protect \TestA  }%
-    \CheckA
-    \DeclareRobustCommand{\TestA}{Test}%
-    \SaveA
-    \TestDef{TestA}{\protect \TestA  }%
-    \LetLtxMacro\TestB\TestA
-    \TestDef{TestB}{\protect \TestB  }%
-    \TestEquals{TestB }{TestA }%
-    \CheckA
-    \GlobalLetLtxMacro\TestC\TestA
-    \CheckA
-  \endgroup
-  \TestDef{TestC}{\protect \TestC  }%
-  \DeclareRobustCommand{\TestA}{Test}%
-  \TestEquals{TestC }{TestA }%
-\end{qstest}
-
-\begin{qstest}{default}{default}
-  \begingroup
-    \newcommand{\TestA}[1][\relax default \empty]{TestA #1}%
-    \SaveA
-    \TestDef
-    {TestA}{\@protected at testopt \TestA \\TestA {\relax default \empty }}%
-    \LetLtxMacro\TestB\TestA
-    \TestDef
-    {TestB}{\@protected at testopt \TestB \\TestB {\relax default \empty }}%
-    \CheckA
-    \TestEquals{\string\TestB}{\string\TestA}%
-    \GlobalLetLtxMacro\TestC\TestA
-    \CheckA
-  \endgroup
-  \TestDef
-  {TestC}{\@protected at testopt \TestC \\TestC {\relax default \empty }}%
-  \newcommand{\TestA}[1][\relax default \empty]{TestA #1}%
-  \TestEquals{\string\TestC}{\string\TestA}%
-\end{qstest}
-
-\begin{qstest}{robustdefault}{robustdefault}
-  \begingroup
-    \DeclareRobustCommand{\TestA}[1][\default]{TestA}%
-    \SaveA
-    \LetLtxMacro\TestB\TestA
-    \TestDef{TestB}{\protect \TestB  }%
-    \TestDef{TestB }{\@protected at testopt \TestB  \\TestB  {\default }}%
-    \CheckA
-    \GlobalLetLtxMacro\TestC\TestA
-    \CheckA
-  \endgroup
-  \TestDef{TestC}{\protect \TestC  }%
-  \TestDef{TestC }{\@protected at testopt \TestC  \\TestC  {\default }}%
-\end{qstest}
-
-\begin{qstest}{plain}{plain}
-  \LetLtxMacro\NewRelax\relax
-  \Expect*{\meaning\relax}*{\string\relax}%
-  \Expect*{\meaning\NewRelax}*{\string\relax}%
-  \LetLtxMacro\NewHbox\hbox
-  \Expect*{\meaning\hbox}*{\string\hbox}%
-  \Expect*{\meaning\NewHbox}*{\string\hbox}%
-  \LetLtxMacro\NewEmpty\empty
-  \Expect*{\meaning\empty}{macro:->}%
-  \Expect*{\meaning\NewEmpty}{macro:->}%
-  \def\TestA{\iffalse}%
-  \LetLtxMacro\TestB\TestA
-  \TestDef{TestB}{\iffalse }%
-  \TestEquals{TestA}{TestB}%
-\end{qstest}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\usepackage{etoolbox}[2008/06/22]
-
-\begin{qstest}{oldnewrobustcmd}{oldnewrobustcmd}
-  \begingroup
-    \protected\edef\TestA{%
-      \noexpand\@protected at testopt
-      \noexpand\TestA
-      \expandafter\noexpand\csname\string\TestA\endcsname
-      {\noexpand\default}%
-    }%
-    \expandafter\protected\expandafter
-    \def\csname\string\TestA\endcsname{TestA}%
-    \SaveA
-    \LetLtxMacro\TestB\TestA
-    \TestDef{TestB}{\@protected at testopt \TestB \\TestB {\default }}%
-    \protected\edef\TestC{%
-      \noexpand\@protected at testopt
-      \noexpand\TestB
-      \expandafter\noexpand\csname\string\TestB\endcsname
-      {\noexpand\default}%
-    }%
-    \TestEquals{TestB}{TestC}%
-    \CheckA
-    \GlobalLetLtxMacro\TestD\TestA
-    \CheckA
-  \endgroup
-  \TestDef{TestD}{\@protected at testopt \TestD \\TestD {\default }}%
-  \protected\edef\TestC{%
-    \noexpand\@protected at testopt
-    \noexpand\TestD
-    \expandafter\noexpand\csname\string\TestD\endcsname
-    {\noexpand\default}%
-  }%
-  \TestEquals{TestD}{TestC}%
-\end{qstest}
-
-\begin{qstest}{newrobustcmd}{newrobustcmd}
-  \begingroup
-    \newrobustcmd{\TestA}[1][\default]{TestA}%
-    \SaveA
-    \LetLtxMacro\TestB\TestA
-    \TestDef{TestB}{\@testopt \\TestB {\default }}%
-    \protected\edef\TestC{%
-      \noexpand\@testopt
-      \expandafter\noexpand\csname\string\TestB\endcsname
-      {\noexpand\default}%
-    }%
-    \TestEquals{TestB}{TestC}%
-    \CheckA
-    \GlobalLetLtxMacro\TestD\TestA
-    \CheckA
-  \endgroup
-  \TestDef{TestD}{\@testopt \\TestD {\default }}%
-  \protected\edef\TestC{%
-    \noexpand\@testopt
-    \expandafter\noexpand\csname\string\TestD\endcsname
-    {\noexpand\default}%
-  }%
-  \TestEquals{TestD}{TestC}%
-\end{qstest}
-
-\begin{qstest}{robustifyopt}{robustifyopt}
-  \newcommand{\TestA}[2][\default]{}%
-  \TestDef{TestA}{\@protected at testopt \TestA \\TestA {\default }}%
-  \robustify\TestA
-  \TestDef{TestA}{\@protected at testopt \TestA \\TestA {\default }}%
-  \protected\edef\TestC{%
-    \noexpand\@protected at testopt
-    \noexpand\TestA
-    \expandafter\noexpand\csname\string\TestA\endcsname
-    {\noexpand\default}%
-  }%
-  \TestEquals{TestA}{TestC}%
-  \SaveA
-  \LetLtxMacro\TestB\TestA
-  \TestDef{TestB}{\@protected at testopt \TestB \\TestB {\default }}%
-  \protected\edef\TestC{%
-    \noexpand\@protected at testopt
-    \noexpand\TestB
-    \expandafter\noexpand\csname\string\TestB\endcsname
-    {\noexpand\default}%
-  }%
-  \TestEquals{TestB}{TestC}%
-  \CheckA
-\end{qstest}
-
-\begin{qstest}{robustifydeclare}{robustifydeclare}
-  \DeclareRobustCommand\TestA{\iffalse}%
-  \robustify\TestA
-  \SaveA
-  \LetLtxMacro\TestB\TestA
-  \TestDef{TestB}{\iffalse }%
-  % before etoolbox 2008/06/22: \protected\long\def
-  % since etoolbox 2008/06/22: \protected\def
-  \protected\def\TestC{\iffalse}%
-  \TestEquals{TestB}{TestC}%
-  \CheckA
-\end{qstest}
-
-\begin{qstest}{robustifydeclarelong}{robustifydeclarelong}
-  \DeclareRobustCommand\TestA[1]{\iffalse}%
-  \robustify\TestA
-  \SaveA
-  \LetLtxMacro\TestB\TestA
-  \TestDef{TestB}{\iffalse }%
-  % before etoolbox 2008/06/22: \protected\long\def
-  % since etoolbox 2008/06/22: \protected\def
-  \protected\long\def\TestC#1{\iffalse}%
-  \TestEquals{TestB}{TestC}%
-  \CheckA
-\end{qstest}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\csname @@end\endcsname
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{letltxmacro}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/letltxmacro.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/letltxmacro.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-%   |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
-% \begin{quote}
-%   \verb|tex letltxmacro.dtx|
-% \end{quote}
-%
-% \paragraph{TDS.} Now the different files must be moved into
-% the different directories in your installation TDS tree
-% (also known as \xfile{texmf} tree):
-% \begin{quote}
-% \def\t{^^A
-% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-%   letltxmacro.sty & tex/latex/oberdiek/letltxmacro.sty\\
-%   letltxmacro.pdf & doc/latex/oberdiek/letltxmacro.pdf\\
-%   letltxmacro-showcases.tex & doc/latex/oberdiek/letltxmacro-showcases.tex\\
-%   test/letltxmacro-test1.tex & doc/latex/oberdiek/test/letltxmacro-test1.tex\\
-%   test/letltxmacro-test2.tex & doc/latex/oberdiek/test/letltxmacro-test2.tex\\
-%   letltxmacro.dtx & source/latex/oberdiek/letltxmacro.dtx\\
-% \end{tabular}^^A
-% }^^A
-% \sbox0{\t}^^A
-% \ifdim\wd0>\linewidth
-%   \begingroup
-%     \advance\linewidth by\leftmargin
-%     \advance\linewidth by\rightmargin
-%   \edef\x{\endgroup
-%     \def\noexpand\lw{\the\linewidth}^^A
-%   }\x
-%   \def\lwbox{^^A
-%     \leavevmode
-%     \hbox to \linewidth{^^A
-%       \kern-\leftmargin\relax
-%       \hss
-%       \usebox0
-%       \hss
-%       \kern-\rightmargin\relax
-%     }^^A
-%   }^^A
-%   \ifdim\wd0>\lw
-%     \sbox0{\small\t}^^A
-%     \ifdim\wd0>\linewidth
-%       \ifdim\wd0>\lw
-%         \sbox0{\footnotesize\t}^^A
-%         \ifdim\wd0>\linewidth
-%           \ifdim\wd0>\lw
-%             \sbox0{\scriptsize\t}^^A
-%             \ifdim\wd0>\linewidth
-%               \ifdim\wd0>\lw
-%                 \sbox0{\tiny\t}^^A
-%                 \ifdim\wd0>\linewidth
-%                   \lwbox
-%                 \else
-%                   \usebox0
-%                 \fi
-%               \else
-%                 \lwbox
-%               \fi
-%             \else
-%               \usebox0
-%             \fi
-%           \else
-%             \lwbox
-%           \fi
-%         \else
-%           \usebox0
-%         \fi
-%       \else
-%         \lwbox
-%       \fi
-%     \else
-%       \usebox0
-%     \fi
-%   \else
-%     \lwbox
-%   \fi
-% \else
-%   \usebox0
-% \fi
-% \end{quote}
-% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
-% TDS installing feature, then some files can already be in the right
-% place, see the documentation of \docstrip.
-%
-% \subsection{Refresh file name databases}
-%
-% If your \TeX~distribution
-% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
-% these. For example, \TeX\,Live\ users run \verb|texhash| or
-% \verb|mktexlsr|.
-%
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-%   \verb|latex \let\install=y\input{letltxmacro.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
-% line into this file, if you want to have A4 as paper format:
-% \begin{quote}
-%   \verb|\PassOptionsToClass{a4paper}{article}|
-% \end{quote}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex letltxmacro.dtx
-%makeindex -s gind.ist letltxmacro.idx
-%pdflatex letltxmacro.dtx
-%makeindex -s gind.ist letltxmacro.idx
-%pdflatex letltxmacro.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2008/06/09 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2008/06/12 v1.1}
-%   \item
-%     Support for \xpackage{etoolbox}'s \cs{newrobustcmd} added.
-%   \end{Version}
-%   \begin{Version}{2008/06/13 v1.2}
-%   \item
-%     Support for \xpackage{etoolbox}'s \cs{robustify} added.
-%   \end{Version}
-%   \begin{Version}{2008/06/24 v1.3}
-%   \item
-%     Test file adapted for etoolbox 2008/06/22 v1.6.
-%   \end{Version}
-%   \begin{Version}{2010/09/02 v1.4}
-%   \item
-%     \cs{GlobalLetLtxMacro} added.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.5}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -65,11 +65,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/listingsutf8.sty
 %    TDS:doc/latex/oberdiek/listingsutf8.pdf
-%    TDS:doc/latex/oberdiek/test/listingsutf8-test1.tex
-%    TDS:doc/latex/oberdiek/test/listingsutf8-test2.tex
-%    TDS:doc/latex/oberdiek/test/listingsutf8-test3.tex
-%    TDS:doc/latex/oberdiek/test/listingsutf8-test4.tex
-%    TDS:doc/latex/oberdiek/test/listingsutf8-test5.tex
 %    TDS:source/latex/oberdiek/listingsutf8.dtx
 %
 %<*ignore>
@@ -143,10 +138,6 @@
 %  \file{listingsutf8-test3.tex}{\from{listingsutf8.dtx}{test3,utf8x}}%
 %  \file{listingsutf8-test4.tex}{\from{listingsutf8.dtx}{test4,utf8,noetex}}%
 %  \file{listingsutf8-test5.tex}{\from{listingsutf8.dtx}{test5,utf8x,noetex}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{listingsutf8.xml}{\from{listingsutf8.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -183,21 +174,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{listingsutf8.drv}
 %
@@ -493,106 +469,8 @@
 \lstU at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@\@ne
-  \repeat
-}
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{127}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\{=1 %
-  \catcode`\}=2 %
-  \catcode`\#=6 %
-  \catcode`\[=12 %
-  \catcode`\]=12 %
-  \catcode`\%=14 %
-  \catcode`\ =10 %
-  \catcode13=5 %
-  \RequirePackage{listingsutf8}[2016/05/16]\relax
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Test example for latin1}
-%
-%    \begin{macrocode}
-%<*test2>
-%    \end{macrocode}
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{filecontents}
-\def\do#1{%
-  \ifx#1\^%
-  \else
-    \noexpand\do\noexpand#1%
-  \fi
-}
-\expandafter\let\expandafter\dospecials\expandafter\empty
-\expandafter\edef\expandafter\dospecials\expandafter{\dospecials}
-\begin{filecontents*}{ExampleUTF8.java}
-public class ExampleUTF8 {
-    public static String testString =
-        "Umlauts: " +
-        "^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f";
-    public static void main(String[] args) {
-        System.out.println(testString);
-    }
-}
-\end{filecontents*}
-\usepackage{listingsutf8}[2016/05/16]
-\def\Text{%
-  Umlauts: %
-  ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f%
-}
-\begin{document}
-\lstinputlisting[%
-  language=Java,%
-  inputencoding=utf8/latin1,%
-]{ExampleUTF8.java}
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -640,11 +518,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   listingsutf8.sty & tex/latex/oberdiek/listingsutf8.sty\\
 %   listingsutf8.pdf & doc/latex/oberdiek/listingsutf8.pdf\\
-%   test/listingsutf8-test1.tex & doc/latex/oberdiek/test/listingsutf8-test1.tex\\
-%   test/listingsutf8-test2.tex & doc/latex/oberdiek/test/listingsutf8-test2.tex\\
-%   test/listingsutf8-test3.tex & doc/latex/oberdiek/test/listingsutf8-test3.tex\\
-%   test/listingsutf8-test4.tex & doc/latex/oberdiek/test/listingsutf8-test4.tex\\
-%   test/listingsutf8-test5.tex & doc/latex/oberdiek/test/listingsutf8-test5.tex\\
 %   listingsutf8.dtx & source/latex/oberdiek/listingsutf8.dtx\\
 % \end{tabular}^^A
 % }^^A
@@ -760,7 +633,7 @@
 % \bibitem{inputenc}
 %   Alan Jeffrey, Frank Mittelbach,
 %   \textit{inputenc.sty}, 2006/05/05 v1.1b.
-%   \CTAN{macros/latex/base/inputenc.dtx}
+%   \CTANpkg{iputenc}
 %
 % \bibitem{listings}
 %   Carsten Heinz, Brooks Moses:
@@ -772,7 +645,7 @@
 %   Heiko Oberdiek:
 %   \textit{The \xpackage{stringenc} package};
 %   2007/10/22;\\
-%   \CTAN{macros/latex/contrib/oberdiek/stringenc.pdf}.
+%   \CTANpkg{stringenc}.
 %
 % \end{thebibliography}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -69,13 +69,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/ltxcmds.sty
 %    TDS:doc/latex/oberdiek/ltxcmds.pdf
-%    TDS:doc/latex/oberdiek/test/ltxcmds-test1.tex
-%    TDS:doc/latex/oberdiek/test/ltxcmds-test-gobble.tex
-%    TDS:doc/latex/oberdiek/test/ltxcmds-test-ifempty.tex
-%    TDS:doc/latex/oberdiek/test/ltxcmds-test-zapspace.tex
-%    TDS:doc/latex/oberdiek/test/ltxcmds-test-ifboxempty.tex
-%    TDS:doc/latex/oberdiek/test/ltxcmds-test-nextchar.tex
-%    TDS:doc/latex/oberdiek/test/ltxcmds-test-carcdr.tex
 %    TDS:source/latex/oberdiek/ltxcmds.dtx
 %
 %<*ignore>
@@ -155,10 +148,6 @@
 %  \file{ltxcmds-test-ifboxempty.tex}{\from{ltxcmds.dtx}{test-ifboxempty}}%
 %  \file{ltxcmds-test-nextchar.tex}{\from{ltxcmds.dtx}{test-nextchar}}%
 %  \file{ltxcmds-test-carcdr.tex}{\from{ltxcmds.dtx}{test-carcdr}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{ltxcmds.xml}{\from{ltxcmds.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -198,21 +187,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{ltxcmds.drv}
 %
@@ -2062,852 +2036,8 @@
 \LTXcmds at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input ltxcmds.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Test \cs{ltx at GobbleNum}}
-%
-%    \begin{macrocode}
-%<*test-gobble>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\catcode`\@=11 %
-\def\msg#{\immediate\write16}%
-\msg{[Test \string\ltx at GobbleNum]}%
-\long\def\Test#1=#2\\{%
-  \edef\StrA{\ltx at GobbleNum#1}%
-  \expandafter\expandafter\expandafter\def
-  \expandafter\expandafter\expandafter\StrAA
-  \expandafter\expandafter\expandafter{\ltx at GobbleNum#1}%
-  \edef\StrB{#2}%
-  \ifx\StrA\StrB
-    \ifx\StrAA\StrB
-      \msg{* ok.}%
-    \else
-      \msg{StrAA: \StrAA}%
-      \msg{StrB: \StrB}%
-      \errhelp{Test: #1=#2}%
-      \errmessage{Test (two expansions) failed}%
-    \fi
-  \else
-    \msg{StrA: \StrA}%
-    \msg{StrB: \StrB}%
-    \errhelp{Test: #1=#2}%
-    \errmessage{Test (edef) failed!}%
-  \fi
-}
-\Test0abc=abc\\
-\Test1abc=bc\\
-\Test2abc=c\\
-\Test3abcd=d\\
-\Test4abcde=e\\
-\Test5abcdef=f\\
-\Test6abcdefg=g\\
-\Test7abcdefgh=h\\
-\Test8abcdefghi=i\\
-\Test9abcdefghij=j\\
-\Test{10}0123456789X=X\\
-\Test{12}abcdefghijklm=m\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=X\\
-\Test{-1}abc=abc\\
-\Test2\par\par\relax=\relax\\
-
-\begingroup
-  \count1=2 %
-  \Test{\count1}abc=c\\%
-\endgroup
-
-\ltx at IfUndefined{numexpr}{%
-}{%
-  \Test{1+1}abc=c\\%
-}
-
-\msg{[Test \string\ltx at CdrNum]}%
-\long\def\Test#1=#2\\{%
-  \edef\StrA{\ltx at CdrNum#1\@nil}%
-  \expandafter\expandafter\expandafter\def
-  \expandafter\expandafter\expandafter\StrAA
-  \expandafter\expandafter\expandafter{\ltx at CdrNum#1\@nil}%
-  \edef\StrB{#2}%
-  \ifx\StrA\StrB
-    \ifx\StrAA\StrB
-      \msg{* ok.}%
-    \else
-      \msg{StrAA: \meaning\StrAA}%
-      \msg{StrB: \meaning\StrB}%
-      \errhelp{Test: #1=#2}%
-      \errmessage{Test (two expansions) failed}%
-    \fi
-  \else
-    \msg{StrA: \StrA}%
-    \msg{StrB: \StrB}%
-    \errhelp{Test: #1=#2}%
-    \errmessage{Test (edef) failed!}%
-  \fi
-}
-\Test0abc=abc\\
-\Test1abc=bc\\
-\Test2abc=c\\
-\Test3abcd=d\\
-\Test4abcde=e\\
-\Test5abcdef=f\\
-\Test6abcdefg=g\\
-\Test7abcdefgh=h\\
-\Test8abcdefghi=i\\
-\Test9abcdefghij=j\\
-\Test{10}0123456789X=X\\
-\Test{12}abcdefghijklm=m\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=X\\
-\Test{-1}abc=abc\\
-\Test2\par\par\relax=\relax\\
-
-\msg{[Test \string\ltx at CarNum]}%
-\long\def\Test#1=#2\\{%
-  \edef\StrA{\ltx at CarNum#1\@nil}%
-  \expandafter\expandafter\expandafter\def
-  \expandafter\expandafter\expandafter\StrAA
-  \expandafter\expandafter\expandafter{\ltx at CarNum#1\@nil}%
-  \edef\StrB{#2}%
-  \ifx\StrA\StrB
-    \ifx\StrAA\StrB
-      \msg{* ok.}%
-    \else
-      \msg{StrAA: \meaning\StrAA}%
-      \msg{StrB: \meaning\StrB}%
-      \errhelp{Test: #1=#2}%
-      \errmessage{Test (two expansions) failed}%
-    \fi
-  \else
-    \msg{StrA: \StrA}%
-    \msg{StrB: \StrB}%
-    \errhelp{Test: #1=#2}%
-    \errmessage{Test (edef) failed!}%
-  \fi
-}
-\Test0abc=\\
-\Test1abc=a\\
-\Test2abc=ab\\
-\Test3abc=abc\\
-\Test3abcd=abc\\
-\Test4abcde=abcd\\
-\Test{10}0123456789X=0123456789\\
-\Test{12}abcdefghijklm=abcdefghijkl\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-\\
-\Test{-1}abc=\\
-\Test2\par\par\relax=\par\par\\
-\csname @@end\endcsname\end
-%</test-gobble>
-%    \end{macrocode}
-%
-% \subsection{Test \cs{ltx at ifempty}}
-%
-%    \begin{macrocode}
-%<*test-ifempty>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\errorcontextlines=1000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
-\def\TestY{\Y}
-\def\TestN{\N}
-\msg{* \string\ltx at ifempty}
-\long\def\test#1{%
-  \begingroup
-    % Calculate expected test result via macro definition
-    \def\Stuff{#1}%
-    \ifx\Stuff\ltx at empty
-      \def\StuffEmpty{\Y}%
-    \else
-      \def\StuffEmpty{\N}%
-    \fi
-    % Test \ltx at ifempty
-    \expandafter\expandafter\expandafter\def
-    \expandafter\expandafter\expandafter\TestEmpty
-    \expandafter\expandafter\expandafter{%
-      \ltx at ifempty{#1}{\Y}{\N}%
-    }%
-    \ifx\StuffEmpty\TestEmpty
-      \msg{* Test OK}%
-    \else
-      \ltx at IfUndefined{detokenize}{}{%
-        \msg{Stuff: [\detokenize{\Stuff}]}%
-      }%
-      \errmessage{Test failed!}%
-    \fi
-  \endgroup
-}
-\test{}
-\test{a}
-\test{abc}
-\test{\par}
-\test{ }
-\test{\if}
-\test{{\if}}
-\test{\else}
-\test{{\else}}
-\test{\fi}
-\test{{}\fi}
-\test{\or\ifcase}
-\test{{}}
-\test{{a}}
-\test{{}abc}
-\test{{\par}}
-\test{{}\par}
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\SpaceTwo#1{%
-  \def\SpaceTwo{#1#1}%
-}\SpaceTwo{ }
-\msg{* \string\ltx at ifblank}
-\long\def\test#1{%
-  \begingroup
-    % Calculate expected test result via macro definition
-    \def\Stuff{#1}%
-    \ifx\Stuff\ltx at empty
-      \def\StuffEmpty{\Y}%
-    \else
-      \ifx\Stuff\ltx at space
-        \def\StuffEmpty{\Y}%
-      \else
-        \ifx\Stuff\SpaceTwo
-          \def\StuffEmpty{\Y}%
-        \else
-          \def\StuffEmpty{\N}%
-        \fi
-      \fi
-    \fi
-    % Test \ltx at ifblank
-    \expandafter\expandafter\expandafter\def
-    \expandafter\expandafter\expandafter\TestEmpty
-    \expandafter\expandafter\expandafter{%
-      \ltx at ifblank{#1}{\Y}{\N}%
-    }%
-    \ifx\StuffEmpty\TestEmpty
-      \msg{* Test OK}%
-    \else
-      \ltx at IfUndefined{detokenize}{}{%
-        \msg{Stuff: [\detokenize{\Stuff}]}%
-      }%
-      \errmessage{Test failed!}%
-    \fi
-  \endgroup
-}
-\test{}
-\test{a}
-\test{\if}
-\test{\else}
-\test{\fi}
-\test{ \fi}
-\test{\par}
-\test{ \par}
-\test{{}}
-\test{ {}}
-\def\x#1{%
-  \test{#1#1}%
-  \test{#1#1{}}%
-  \test{#1#1\par}%
-  \test{#1#1\else}%
-}\x{ }
-\csname @@end\endcsname\end
-%</test-ifempty>
-%    \end{macrocode}
-%
-% \subsection{Test \cs{ltx at zap@space}}
-%
-%    \begin{macrocode}
-%<*test-zapspace>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\errorcontextlines=1000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
-\def\space{ }
-\def\empty{}
-\msg{* \string\ltx at zapspace}
-\long\def\test#1#2{%
-  \begingroup
-    \def\TestInput{#1}%
-    \def\TestExpected{#2}%
-    % Test \ltx at zapspace
-    \expandafter\expandafter\expandafter\def
-    \expandafter\expandafter\expandafter\TestResult
-    \expandafter\expandafter\expandafter{%
-      \ltx at zapspace{#1}%
-    }%
-    \ifx\TestResult\TestExpected
-      \msg{* Test OK}%
-    \else
-      \ltx at onelevel@sanitize\TestInput
-      \ltx at onelevel@sanitize\TestExpected
-      \ltx at onelevel@sanitize\TestResult
-      \msg{* Input: \space\space\space[\TestInput]}%
-      \msg{ \space Result: \space\space[\TestResult]}%
-      \msg{ \space Expected: [\TestExpected]}%
-      \errmessage{Test failed!}%
-    \fi
-  \endgroup
-}
-\long\def\etest#1#2{%
-  \begingroup
-    \edef\x{\endgroup
-      \noexpand\test{#1}{#2}%
-    }%
-  \x
-}
-\catcode`\~=13 %
-\let~\noexpand
-%    \end{macrocode}
-%    \begin{macrocode}
-\test{}{}
-\test{{}}{{}}
-\test{ {}}{{}}
-\test{{ }}{{ }}
-\test{{} }{{}}
-\test{ {} }{{}}
-\test{ { } }{{ }}
-\test{a {b} c}{a{b}c}
-\test{a bb ccc}{abbccc}
-\test{{a} {bb} {ccc}}{{a}{bb}{ccc}}
-\test{\par}{\par}
-\test{\if}{\if}
-\test{\space}{\space}
-\etest{\par\space\par}{\par\par}
-\etest{~\empty\space~\empty}{~\empty~\empty}
-\etest{~\fi\space~\else\space}{~\fi~\else}
-%    \end{macrocode}
-%    \begin{macrocode}
-\csname @@end\endcsname\end
-%</test-zapspace>
-%    \end{macrocode}
-%
-% \subsection{Test \cs{ltx at IfBoxEmpty}}
-%
-%    \begin{macrocode}
-%<*test-ifboxempty>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
- % make box 0 void
-\begingroup
-  \setbox0=\box0 %
-\endgroup
-\ifvoid0 %
-\else
-  \errmessage{Voiding box 0 failed}%
-\fi
-\setbox2=\box0 %
-\def\test#1#2{%
-  \@test{#1}{#2}%
-  \@@test{#1}{#2}%
-  \chardef\x=#1%
-  \@test\x{#2}%
-  \@@test\x{#2}%
-}
-\def\@test#1#2{%
-  \begingroup
-    \setbox9=\hbox{%
-      \def\TestExpected{#2}%
-      \ltx at IfBoxEmpty{#1}{%
-        \def\TestResult{Y}%
-      }{%
-        \def\TestResult{N}%
-      }%
-      \ifx\TestExpected\TestResult
-        \msg{* Test passed.}%
-      \else
-        \errmessage{Test failed!}%
-      \fi
-    }%
-    \ifdim\wd9=0pt %
-    \else
-      \errmessage{Unwanted space?}%
-    \fi
-  \endgroup
-}
-\def\@@test#1#2{%
-  \begingroup
-    \setbox9=\hbox{%
-      \def\TestExpected{#2}%
-      \ifvoid#1\def\TestExpected{Y}\fi
-      \ltx at IfBoxVoidOrEmpty{#1}{%
-        \def\TestResult{Y}%
-      }{%
-        \def\TestResult{N}%
-      }%
-      \ifx\TestExpected\TestResult
-        \msg{* Test passed.}%
-      \else
-        \errmessage{Test failed!}%
-      \fi
-    }%
-    \ifdim\wd9=0pt %
-    \else
-      \errmessage{Unwanted space?}%
-    \fi
-  \endgroup
-}
-\test0N
-\test2N
-\setbox0=\hbox{}
-\test0Y
-\setbox2=\hbox{}
-\test2Y
-\setbox0=\vbox{}
-\test0Y
-\setbox2=\vbox{}
-\test0Y
-\setbox0=\hbox{ }%
-\test0N
-\setbox2=\hbox{ }%
-\test2N
-\setbox0=\hbox{\penalty1}%
-\test0N
-\setbox2=\hbox{\penalty1}%
-\test2N
-\csname @@end\endcsname\end
-%</test-ifboxempty>
-%    \end{macrocode}
-%
-% \subsection{Test for next character detection}
-%
-%    \begin{macrocode}
-%<*test-nextchar>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input ltxcmds.sty\relax
-  \input eolgrab.sty\relax
-\else
-  \RequirePackage{ltxcmds}[2016/05/16]%
-  \RequirePackage{eolgrab}[2011/01/12]%
-\fi
-\def\msg#{\immediate\write16}
-\begingroup
-  \def\x#1{%
-    \endgroup
-    \let\TestSpaceToken= #1\relax
-  }%
-\x{ }
-\def\TestSpace{ }
-\begingroup
-  \lccode32=65 % space -> A
-\lowercase{%
-  \endgroup
-  \def\TestSpaceA{ }%
-}
-\def\TestCatch{%
-  \eolgrab\@TestCatch
-}
-\def\@TestCatch#1{%
-  \begingroup
-    \def\x{#1}%
-    \ifx\x\ltx at empty
-    \else
-      \ltx at onelevel@sanitize\x
-      \errmessage{Unparsed stuff on line [\x]}%
-    \fi
-  \endgroup
-}
-\def\TestCmdM#1{%
-  \TestCheckType{M}%
-  \TestCatch
-}
-\def\TestCmdOM[#1]#2{%
-  \TestCheckType{O}%
-  \TestCatch
-}
-\def\TestCheckType#1{%
-  \if\TestCmdType#1\relax
-  \else
-    \errmessage{Wrong type #1, expected: \TestCmdType}%
-  \fi
-}
-\def\TestCmd#1{%
-  \def\TestCmdType{#1}%
-  \ltx at ifnextchar[\TestCmdOM\TestCmdM
-}
-\def\TestCmdExp#1{%
-  \expandafter\TestCmd\expandafter#1%
-}
-\outer\def\TestOuter{}
-\TestCmd O[o]{m}
-\TestCmd M{m}
-\TestCmd O [o]{m}
-\TestCmd M {m}
-\def\x#1{\def\x{#1#1}}\x{ }
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x#1{\def\x{#1#1#1#1}}\x{ }
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x{\TestSpaceToken}
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x{\TestSpaceToken\TestSpaceToken\TestSpaceToken}
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\TestCmd M\TestSpace
-\TestOuter
-\TestCmd M \TestSpace
-\TestOuter
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M\iffalse
-\TestOuter
-\TestCmd M\else
-\TestOuter
-\TestCmd M\fi
-\TestOuter
-\TestCmd M \iftrue
-\TestOuter
-\TestCmd M \iffalse
-\TestOuter
-\TestCmd M \else
-\TestOuter
-%
-\def\TestCmd#1{%
-  \def\TestCmdType{#1}%
-  \ltx at ifnextchar@nospace[\TestCmdOM\TestCmdM
-}
-\TestCmd O[o]{m}
-\TestCmd M{m}
-\TestCmd M [
-\TestOuter
-\TestCmd M {m}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M\iffalse
-\TestOuter
-\TestCmd M\else
-\TestCmd M\fi
-\TestOuter
-\TestOuter
-%
-\def\TestCmd#1{%
-  \def\TestCmdType{#1}%
-  \ltx at ifnextchar(\TestCmdPM\TestCmdM
-}
-\def\TestCmdPM(#1)#2{%
-  \TestCheckType{P}%
-  \TestCatch
-}
-\TestCmd P(p){m}
-\TestCmd M{m}
-\TestCmd P (p){m}
-\TestCmd M {m}
-%
-\def\TestCmd#1{%
-  \def\TestCmdType{#1}%
-  \ltx at ifnextchar{ }\TestCmdSM\TestCmdM
-}
-\def\TestCmdSM#1#{%
-  \TestCheckType{S}%
-  \begingroup
-    \let\x= #1\relax
-    \ifx\x\TestSpaceToken
-    \else
-      \errmessage{unexpected space token: \meaning#1}%
-    \fi
-  \endgroup
-  \def\TestCmdType{M}%
-  \TestCmdM
-}
-\TestCmd S {m}
-\TestCmd M{m}
-\def\x#1{\def\x{#1#1}}\x{ }
-\TestCmdExp S\x{m}
-%
-\def\TestCmd#1{%
-  \def\TestCmdType{#1}%
-  \ltx at ifnextchar\iffalse\TestCmdIM\TestCmdM
-}
-\def\TestCmdIM\iffalse#1{%
-  \TestCheckType{I}%
-  \TestCatch
-}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M \iftrue
-\TestCmd I\iffalse\iffalse
-\TestCmd I \iffalse\iffalse
-\TestOuter
-%
-\def\TestCmd#1{%
-  \def\TestCmdType{#1}%
-  \ltx at ifnextchar@nospace\iffalse\TestCmdIM\TestCmdM
-}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd I\iffalse\iffalse
-\TestOuter
-\csname @@end\endcsname\end
-%</test-nextchar>
-%    \end{macrocode}
-%
-% \subsection{Test for list helpers}
-%
-%    \begin{macrocode}
-%<*test-carcdr>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input ltxcmds.sty\relax
-  \input eolgrab.sty\relax
-\else
-  \RequirePackage{ltxcmds}[2016/05/16]%
-  \RequirePackage{eolgrab}[2011/01/12]%
-\fi
-\def\msg#{\immediate\write16}
-\def\space{ }
-\long\def\Test#1#2#3{%
-  \begingroup
-    \def\TestExpected{#3}%
-    \expandafter\expandafter\expandafter\def
-    \expandafter\expandafter\expandafter\TestResult
-    \expandafter\expandafter\expandafter{%
-      #1#2\@nil
-    }%
-    \ifx\TestResult\TestExpected
-    \else
-      \msg{\string\TestExpected: [\meaning\TestExpected]}%
-      \msg{\string\TestResult: \space\space[\meaning\TestResult]}%
-      \errmessage{Test failed!}%
-    \fi
-  \endgroup
-}
-\Test\ltx at carzero{abc}{}
-\Test\ltx at carzero{}{}
-\Test\ltx at carzero{\par\par}{}
-\Test\ltx at cdrzero{}{}
-\Test\ltx at cdrzero{abc}{abc}
-\Test\ltx at cdrzero{ \par}{ \par}
-\Test\ltx at cdrzero{\@empty}{\@empty}
-\Test\ltx at cdrzero{{}}{{}}
-\Test\ltx at car{abc}{a}
-\Test\ltx at car{\par}{\par}
-\Test\ltx at cdr{abc}{bc}
-\Test\ltx at cdr{a \par}{ \par}
-\Test\ltx at cdr{a\@empty}{\@empty}
-\Test\ltx at cartwo{abc}{ab}
-\Test\ltx at cartwo{\par\@empty}{\par\@empty}
-\Test\ltx at carsecond{abc}{b}
-\Test\ltx at carsecond{\@empty b\@empty}{b}
-\Test\ltx at carsecond{\par\par\par}{\par}
-\Test\ltx at cdrtwo{abc}{c}
-\Test\ltx at cdrtwo{ab \par}{ \par}
-\Test\ltx at cdrtwo{ab\@empty}{\@empty}
-\Test\ltx at cdrtwo{ab{}}{{}}
-\Test\ltx at cdrthree{abcdefg}{defg}
-\Test\ltx at cdrfour{abcdefg}{efg}
-\Test{\ltx at CdrNum{5}}{abcdefg}{fg}
-\Test{\ltx at CdrNum{0}}{\par}{\par}
-\Test{\ltx at CdrNum{0}}{\@empty}{\@empty}
-\Test{\ltx at CdrNum{0}}{{}}{{}}
-\Test{\ltx at CdrNum{0}}{ }{ }
-\Test{\ltx at CdrNum{2}}{abcd}{cd}
-\Test{\ltx at CdrNum{2}}{\vbox\par\hbox\par}{\hbox\par}
-\Test{\ltx at carthree}{abcdefg}{abc}
-\Test{\ltx at carfour}{abcdefg}{abcd}
-\Test{\ltx at CarNum{5}}{abcdefg}{abcde}
-\Test{\ltx at CarNum{2}}{\@empty\par}{\@empty\par}
-\Test\ltx at carthird{abcdefg}{c}
-\Test\ltx at carfourth{abcdefg}{d}
-\Test{\ltx at CarNumth{5}}{abcdefg}{e}
-\Test{\ltx at CarNumth{2}}{\@empty\@empty\@empty}{\@empty}
-\Test{\ltx at CarNumth{2}}{\par\par\par}{\par}
-\Test{\ltx at CarNumth{2}}{ab}{b}
-\csname @@end\endcsname\end
-%</test-carcdr>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -2955,13 +2085,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   ltxcmds.sty & tex/generic/oberdiek/ltxcmds.sty\\
 %   ltxcmds.pdf & doc/latex/oberdiek/ltxcmds.pdf\\
-%   test/ltxcmds-test1.tex & doc/latex/oberdiek/test/ltxcmds-test1.tex\\
-%   test/ltxcmds-test-gobble.tex & doc/latex/oberdiek/test/ltxcmds-test-gobble.tex\\
-%   test/ltxcmds-test-ifempty.tex & doc/latex/oberdiek/test/ltxcmds-test-ifempty.tex\\
-%   test/ltxcmds-test-zapspace.tex & doc/latex/oberdiek/test/ltxcmds-test-zapspace.tex\\
-%   test/ltxcmds-test-ifboxempty.tex & doc/latex/oberdiek/test/ltxcmds-test-ifboxempty.tex\\
-%   test/ltxcmds-test-nextchar.tex & doc/latex/oberdiek/test/ltxcmds-test-nextchar.tex\\
-%   test/ltxcmds-test-carcdr.tex & doc/latex/oberdiek/test/ltxcmds-test-carcdr.tex\\
 %   ltxcmds.dtx & source/latex/oberdiek/ltxcmds.dtx\\
 % \end{tabular}^^A
 % }^^A

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/mleftright.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/mleftright.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/mleftright.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,943 +0,0 @@
-% \iffalse meta-comment
-%
-% File: mleftright.dtx
-% Version: 2016/05/16 v1.1
-% Info: Math left/right delim. as open/close
-%
-% Copyright (C)
-%    2010 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file mleftright.dtx
-% and the derived files
-%    mleftright.sty, mleftright.pdf, mleftright.ins, mleftright.drv,
-%    mleftright-test1.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/mleftright.dtx
-%    CTAN:macros/latex/contrib/oberdiek/mleftright.pdf
-%
-% Unpacking:
-%    (a) If mleftright.ins is present:
-%           tex mleftright.ins
-%    (b) Without mleftright.ins:
-%           tex mleftright.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{mleftright.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If mleftright.drv is present:
-%           latex mleftright.drv
-%    (b) Without mleftright.drv:
-%           latex mleftright.dtx; ...
-%    The class ltxdoc loads the configuration file ltxdoc.cfg
-%    if available. Here you can specify further options, e.g.
-%    use A4 as paper format:
-%       \PassOptionsToClass{a4paper}{article}
-%
-%    Programm calls to get the documentation (example):
-%       pdflatex mleftright.dtx
-%       makeindex -s gind.ist mleftright.idx
-%       pdflatex mleftright.dtx
-%       makeindex -s gind.ist mleftright.idx
-%       pdflatex mleftright.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/mleftright.sty
-%    TDS:doc/latex/oberdiek/mleftright.pdf
-%    TDS:doc/latex/oberdiek/test/mleftright-test1.tex
-%    TDS:source/latex/oberdiek/mleftright.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: mleftright 2016/05/16 v1.1 Math left/right delim. as open/close (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: mleftright
-Version: 2016/05/16 v1.1
-
-Copyright (C)
-   2010 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file mleftright.dtx
-and the derived files
-   mleftright.sty, mleftright.pdf, mleftright.ins, mleftright.drv,
-   mleftright-test1.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{mleftright.ins}{\from{mleftright.dtx}{install}}%
-  \file{mleftright.drv}{\from{mleftright.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{mleftright.sty}{\from{mleftright.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{mleftright-test1.tex}{\from{mleftright.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{mleftright.xml}{\from{mleftright.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     mleftright.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `mleftright.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{mleftright.drv}%
-  [2016/05/16 v1.1 Math left/right delim. as open/close (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage{mleftright}[2016/05/16]
-\begin{document}
-  \DocInput{mleftright.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
-%
-% \GetFileInfo{mleftright.drv}
-%
-% \title{The \xpackage{mleftright} package}
-% \date{2016/05/16 v1.1}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% \TeX\ sets subformulas by \cs{left} and \cs{right} as inner formulas
-% with additional surrounding spaces in some situations. This package
-% provides \cs{mleft} and \cs{mright} that call \cs{left} and \cs{right},
-% but the delimiters will act as normal \cs{mathopen} and \cs{mathclose}
-% delimiters without the additional space of an inner formula.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% The package is a result of a thread in the newsgroup \textsf{comp.text.tex}
-% with the subject \textit{spacing after \cs{right}\texttt{)}
-% and before \cs{left}\texttt{)}} \cite{dave}.
-% The problem: \cs{left} and \cs{right} adjust the size of the
-% delimiters automatically. However, \TeX\ treats the whole expression
-% as inner formula. In some circumstances \TeX\ adds extra space
-% before or after an inner formula.
-% Example:
-% \begin{quote}
-%   \thinmuskip=1.5\thinmuskip
-%   \begin{tabular}{@{}l@{\quad$\Rightarrow$\quad}l@{}}
-%     |$\sin(x^2), x$|
-%     & $\sin(x^2), x$\\
-%     |$\sin\left(x^2\right), x$|
-%     & $\sin\left(x^2\right), x$\\
-%   ^^A  \multicolumn{1}{@{}r@{\quad$\Rightarrow$\quad}}{^^A
-%   ^^A    \itshape with exaggerated spacing^^A
-%   ^^A  }
-%   ^^A  & $\thinmuskip=4\thinmuskip
-%   ^^A    \sin\left(x^2\right){,}\mskip.25\thinmuskip x$\\
-%     |$\sin\mleft(x^2\mright), x$|
-%     & $\sin\mleft(x^2\mright), x$\\
-%   \end{tabular}\\*[.5ex]
-%   (\cs{mleft} and \cs{mright} are provided by this package.)
-% \end{quote}
-%
-% In the newsgroup Donald Arseneau answered with clever macros \cite{arseneau}:
-% \begin{quote}
-%\begin{verbatim}
-%\newcommand\lft{\mathopen{}\left}
-%\newcommand\rgt{\aftergroup\mathclose\aftergroup{\aftergroup}\right}
-%\end{verbatim}
-% \end{quote}
-% However one problem remains, a following subscript or superscript
-% is not applied to the right delimiter but the empty
-% \cs{mathclose}.
-% Thus Philipp Stephani provided an improvement \cite{stephani}:
-%\begin{quote}
-%\begin{verbatim}
-%\mathopen{} \mathclose{\left\| A^2 \right\|}_2
-%\end{verbatim}
-%\end{quote}
-% Heiko Oberdiek converted this into macro form \cite{oberdiek}:
-%\begin{quote}
-%\begin{verbatim}
-%\newcommand\lft{\mathopen{}\mathclose\bgroup\left}
-%\newcommand\rgt{\aftergroup\egroup\right}
-%\end{verbatim}
-%\end{quote}
-%
-% The package uses longer macro names \cs{mleft} and \cs{mright}
-% to avoid name clashes. Also it adds some checks for error conditions.
-%
-% \subsection{Use}
-%
-% \begin{declcs}{mleft}\meta{delimL} \dots\unkern\ \cs{mright}\meta{delimR}
-% \end{declcs}
-% Macros \cs{mleft} and \cs{mright} are used in the same way as
-% \cs{left} and \cs{right}. Also \cs{middle} can be used inbetween if
-% \eTeX\ is present.
-%
-% \begin{declcs}{mleftright}
-% \end{declcs}
-% Macro \cs{mleftright} redefines \cs{left} as \cs{mleft} and
-% \cs{right} as \cs{mright}. The redefinition is local to the group.
-%
-% \begin{declcs}{mleftrightrestore}
-% \end{declcs}
-% Macro \cs{mleftright} restores \cs{left} and \cs{right} with
-% the original meaning if they were previously redefined by
-% \cs{mleftright} (also locally).
-%
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at mleftright.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{mleftright}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at mleftright.sty\endcsname
-\ProvidesPackage{mleftright}%
-  [2016/05/16 v1.1 Math left/right delim. as open/close (HO)]%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname mleftright at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\mleftright at AtEnd{%
-    \mleftright at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\mleftright at AtEnd{%
-  \mleftright at AtEnd
-  \escapechar\the\escapechar\relax
-  \noexpand\endinput
-}
-\escapechar=92 %
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input infwarerr.sty\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{infwarerr}[2010/04/08]%
-  \RequirePackage{ltxcmds}[2010/04/26]%
-\fi
-%    \end{macrocode}
-%
-%    The original commands \cs{left} and \cs{right}
-%    are saved and later used in \cs{mleft} and
-%    \cs{mright} in order to deal with:
-%    \begin{quote}
-%\begin{verbatim}
-%\let\left\mleft
-%\let\right\mright
-%\end{verbatim}
-%    \end{quote}
-%    \begin{macro}{\mleftright at OrgLeft}
-%    \begin{macrocode}
-\let\mleftright at OrgLeft\left
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\mleftright at OrgRight}
-%    \begin{macrocode}
-\let\mleftright at OrgRight\right
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\mleftright at Def}
-%    Macro \cs{mleftright at Def} defines a macro as robust macro
-%    if \eTeX\ or \LaTeX\ is available.
-%    \begin{macrocode}
-\ltx at IfUndefined{protected}{%
-  \ltx at IfUndefined{DeclareRobustCommand}{%
-    \def\mleftright at Def{\def}%
-  }{%
-    \def\mleftright at Def{\DeclareRobustCommand*}%
-  }%
-}{%
-  \def\mleftright at Def{\protected\def}%
-}
-\edef\mleftright at Def#1{%
-  \noexpand\ltx at IfUndefined{%
-    \noexpand\expandafter\noexpand\ltx at gobble\noexpand\string#1%
-  }{%
-    \expandafter\noexpand\mleftright at Def#1%
-  }{%
-    \noexpand\@PackageError{mleftright}{%
-      Command \noexpand\string#1 already defined%
-    }\noexpand\@ehd
-    \noexpand\ltx at gobble
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    In case of \eTeX\ the group status after the left symbol
-%    is saved and later checked at the beginning of \cs{mright}.
-%    \begin{macrocode}
-\ltx at IfUndefined{currentgrouplevel}{%
-  \catcode38=14 % & = comment
-}{%
-  \catcode38=9 % & = ignore
-}
-%    \end{macrocode}
-%
-%    \begin{macro}{\mleftright at GroupLevel}
-%    \begin{macrocode}
-& \def\mleftright at GroupLevel{-1}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\mleftright at WrongGroup}
-%    \begin{macrocode}
-& \def\mleftright at WrongGroup#1(#2){%
-&   \ifnum\mleftright at GroupLevel<\ltx at zero
-&     \@PackageError{mleftright}{%
-&       Missing previous \string\mleft
-&     }\@ehc
-&   \else
-&     \@PackageError{mleftright}{%
-&       Unexpected group status for \string\mright%
-&       \ifnum\mleftright at GroupLevel=#1 %
-&       \else
-&         .\MessageBreak
-&         Group level is #1, %
-&           expected is \mleftright at GroupLevel
-&       \fi
-&       \ifnum16=#2 %
-&       \else
-&         .\MessageBreak
-&         Group type is #2 (%
-&         \ifcase#2 %
-&           bottom level%
-&           \expandafter\expandafter\expandafter\ltx at gobblefour
-&           \expandafter\ltx at gobbletwo
-&         \or simple%
-&         \or hbox%
-&         \or adjusted hbox%
-&         \or vbox%
-&         \or vtop%
-&         \or align%
-&         \or no align%
-&         \or output%
-&         \or math%
-&         \or disc%
-&         \or insert%
-&         \or vcenter%
-&         \or math choice%
-&         \or semi simple%
-&         \or math shift%
-&         \or math left%
-&         \else
-&           unknown%
-&         \fi
-&         \space group),\MessageBreak
-&         expected is 16 (math left group)%
-&       \fi
-&     }\@ehd
-&   \fi
-& }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\mleft}
-%    \begin{macrocode}
-\mleftright at Def\mleft{%
-  \mathopen{}\mathclose\bgroup
-& \edef\mleftright at GroupLevel{\the\numexpr\the\currentgrouplevel+1}%
-  \mleftright at OrgLeft
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\mright}
-%    \begin{macrocode}
-\mleftright at Def\mright{%
-& \ifnum\mleftright at GroupLevel=\currentgrouplevel
-&   \ifnum16=\currentgrouptype
-      \aftergroup\egroup
-&   \else
-&     \expandafter\mleftright at WrongGroup
-&     \the\expandafter\currentgrouplevel
-&     \expandafter(\the\currentgrouptype)%
-&   \fi
-& \else
-&   \expandafter\mleftright at WrongGroup
-&   \the\expandafter\currentgrouplevel
-&   \expandafter(\the\currentgrouptype)%
-& \fi
-  \mleftright at OrgRight
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\mleftright}
-%    \begin{macrocode}
-\mleftright at Def\mleftright{%
-  \let\left\mleft
-  \let\right\mright
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\mleftrightrestore}
-%    \begin{macrocode}
-\mleftright at Def\mleftrightrestore{%
-  \ifx\left\mleft
-    \let\left\mleftright at OrgLeft
-  \fi
-  \ifx\right\mright
-    \let\right\mleftright at OrgRight
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\mleftright at AtEnd%
-%</package>
-%    \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input mleftright.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{mleftright}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/mleftright.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/mleftright.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-%   |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
-% \begin{quote}
-%   \verb|tex mleftright.dtx|
-% \end{quote}
-%
-% \paragraph{TDS.} Now the different files must be moved into
-% the different directories in your installation TDS tree
-% (also known as \xfile{texmf} tree):
-% \begin{quote}
-% \def\t{^^A
-% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-%   mleftright.sty & tex/generic/oberdiek/mleftright.sty\\
-%   mleftright.pdf & doc/latex/oberdiek/mleftright.pdf\\
-%   test/mleftright-test1.tex & doc/latex/oberdiek/test/mleftright-test1.tex\\
-%   mleftright.dtx & source/latex/oberdiek/mleftright.dtx\\
-% \end{tabular}^^A
-% }^^A
-% \sbox0{\t}^^A
-% \ifdim\wd0>\linewidth
-%   \begingroup
-%     \advance\linewidth by\leftmargin
-%     \advance\linewidth by\rightmargin
-%   \edef\x{\endgroup
-%     \def\noexpand\lw{\the\linewidth}^^A
-%   }\x
-%   \def\lwbox{^^A
-%     \leavevmode
-%     \hbox to \linewidth{^^A
-%       \kern-\leftmargin\relax
-%       \hss
-%       \usebox0
-%       \hss
-%       \kern-\rightmargin\relax
-%     }^^A
-%   }^^A
-%   \ifdim\wd0>\lw
-%     \sbox0{\small\t}^^A
-%     \ifdim\wd0>\linewidth
-%       \ifdim\wd0>\lw
-%         \sbox0{\footnotesize\t}^^A
-%         \ifdim\wd0>\linewidth
-%           \ifdim\wd0>\lw
-%             \sbox0{\scriptsize\t}^^A
-%             \ifdim\wd0>\linewidth
-%               \ifdim\wd0>\lw
-%                 \sbox0{\tiny\t}^^A
-%                 \ifdim\wd0>\linewidth
-%                   \lwbox
-%                 \else
-%                   \usebox0
-%                 \fi
-%               \else
-%                 \lwbox
-%               \fi
-%             \else
-%               \usebox0
-%             \fi
-%           \else
-%             \lwbox
-%           \fi
-%         \else
-%           \usebox0
-%         \fi
-%       \else
-%         \lwbox
-%       \fi
-%     \else
-%       \usebox0
-%     \fi
-%   \else
-%     \lwbox
-%   \fi
-% \else
-%   \usebox0
-% \fi
-% \end{quote}
-% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
-% TDS installing feature, then some files can already be in the right
-% place, see the documentation of \docstrip.
-%
-% \subsection{Refresh file name databases}
-%
-% If your \TeX~distribution
-% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
-% these. For example, \TeX\,Live\ users run \verb|texhash| or
-% \verb|mktexlsr|.
-%
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-%   \verb|latex \let\install=y\input{mleftright.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
-% line into this file, if you want to have A4 as paper format:
-% \begin{quote}
-%   \verb|\PassOptionsToClass{a4paper}{article}|
-% \end{quote}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex mleftright.dtx
-%makeindex -s gind.ist mleftright.idx
-%pdflatex mleftright.dtx
-%makeindex -s gind.ist mleftright.idx
-%pdflatex mleftright.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \section{Acknowledgement}
-%
-% \begin{description}
-% \item[Donald Arsenau:]
-% He provided the main trick and the first macros.
-% \item[Philipp Stephani:]
-% He solved the subscript problem.
-% \end{description}
-%
-% \begin{thebibliography}{9}
-% \raggedright
-% \bibitem{dave}
-%   Dave94705,
-%   \textit{spacing after \cs{right}\texttt{)} and before \cs{left}\texttt{)}},
-%   newsgroup comp.text.tex,
-%   Message-ID: \texttt{\small 5d264909-7c3d-4c9d-9b22-434178b2bf90 at g21g2000prn.googlegroups.com},
-%   2010-08-12.
-%   \newblock
-%   {\small\url{https://groups.google.com/group/comp.text.tex/msg/e5b6833da7dc29bf}}
-%
-% \bibitem{arseneau}
-%   Donald Arseneau,
-%   \textit{Re: spacing after \cs{right}\texttt) and before \cs{left}\texttt)},
-%   newsgroup comp.text.tex,
-%   Message-ID: \texttt{\small yfivd6svl8y.fsf at mutant.triumf.ca},
-%   2010-08-30.
-%   \newblock
-%   {\small\url{https://groups.google.com/group/comp.text.tex/msg/e0b2e4386e5d04e4}}
-%
-% \bibitem{stephani}
-%   Philipp Stephani,
-%   \textit{Re: spacing after \cs{right}\texttt) and before \cs{left}\texttt)},
-%   newsgroup comp.text.tex,
-%   Message-ID: \texttt{\small 4c8c8c1e\$0\$6981\$9b4e6d93 at newsspool4.arcor-online.net},
-%   2010-09-12.
-%   \newblock
-%   {\small\url{https://groups.google.com/group/comp.text.tex/msg/87ac1f61321de3ef}}
-%
-% \bibitem{oberdiek}
-%   Heiko Oberdiek,
-%   \textit{Re: spacing after \cs{right}\texttt) and before \cs{left}\texttt)},
-%   newsgroup comp.text.tex,
-%   Message-ID: \texttt{\small i6jcc2\$8of\$1 at news.eternal-september.org},
-%   2010-09-12.
-%   \newblock
-%   {\small\url{https://groups.google.com/group/comp.text.tex/msg/257aa6119bef878b}}
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2010/09/25 v1.0}
-%   \item
-%     The first version.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.1}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,5 +1,5 @@
 % oberdiek.ins
-% 2019/11/29
+% 2019/12/03
 %
 % Copyright (C)
 % 1999, 2001, 2006  Heiko Oberdiek
@@ -37,7 +37,6 @@
 \batchinput{bigintcalc.dtx}
 \batchinput{bitset.dtx}
 \batchinput{bmpsize.dtx}
-\batchinput{bookmark.dtx}
 \batchinput{catchfile.dtx}
 \batchinput{centernot.dtx}
 \batchinput{chemarr.dtx}
@@ -44,7 +43,6 @@
 \batchinput{classlist.dtx}
 \batchinput{colonequals.dtx}
 \batchinput{dvipscol.dtx}
-\batchinput{embedfile.dtx}
 \batchinput{engord.dtx}
 \batchinput{enparen.dtx}
 \batchinput{eolgrab.dtx}
@@ -52,7 +50,6 @@
 \batchinput{fibnum.dtx}
 \batchinput{flags.dtx}
 \batchinput{gettitlestring.dtx}
-\batchinput{grfext.dtx}
 \batchinput{hologo.dtx}
 \batchinput{holtxdoc.dtx}
 \batchinput{hopatch.dtx}
@@ -65,14 +62,11 @@
 \batchinput{hyphsubst.dtx}
 \batchinput{ifdraft.dtx}
 \batchinput{iflang.dtx}
-\batchinput{infwarerr.dtx}
 \batchinput{intcalc.dtx}
 \batchinput{kvdefinekeys.dtx}
 \batchinput{kvsetkeys.dtx}
-\batchinput{letltxmacro.dtx}
 \batchinput{listingsutf8.dtx}
 \batchinput{ltxcmds.dtx}
-\batchinput{mleftright.dtx}
 \batchinput{pagegrid.dtx}
 \batchinput{pagesel.dtx}
 \batchinput{pdfcol.dtx}

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex	2019-12-04 22:54:28 UTC (rev 53027)
@@ -3,6 +3,9 @@
 \newcommand*{\Title}{Overview}
 \newcommand*{\CTANdir}{macros/latex/contrib/oberdiek/}
 \newcommand*{\CTANroot}{http://mirror.ctan.org/}
+\newcommand*{\CTANpkg}[1]{%
+  \href{http://ctan.org/pkg/#1}{[ctan]}%
+}
 \newcommand*{\Subject}{CTAN:\CTANdir}
 \newcommand*{\Author}{Heiko Oberdiek}
 
@@ -34,9 +37,7 @@
 
 \usepackage{iftex}
 \ifluatex
-  \usepackage{fontspec}[2011/09/18]%
   \usepackage{unicode-math}[2011/09/19]%
-  \setmathfont{latinmodern-math.otf}%
 \fi
 
 \usepackage[
@@ -140,24 +141,20 @@
 \newenvironment{overview}{%
   \setlength{\tabcolsep}{0.8\tabcolsep}%
   \setlength{\LTleft}{0pt}%
-  \longtable{@{}llll@{}}
+  \longtable{@{}lll@{}}
 }{%
   \endlongtable
 }
-\newcommand*{\entry}[4]{%
+\newcommand*{\entry}[2]{%
   \href{file:#1.pdf}{%
     \bfseries\xpackage{#1}%
   }%
-  & #2%
-  & v#3%
-  & \href{\CTANroot\CTANdir #1.pdf}{[pdf]} %
-    \href{\CTANroot\CTANdir #1.dtx}{[dtx]}
+   &
+    #2%
+  & \CTANpkg{#1} %
   \\*%
   \hyperref[{#1}]{\small (contents)}%
   &
-  \multicolumn{2}{l}{%
-    #4%
-  }%
   \\%
 }
 \newcommand*{\entrysep}{1.5ex}
@@ -177,165 +174,147 @@
 
 \section{Overview}
 \begin{overview}
-\entry{accsupp}{2010/01/16}{0.3}{Accessibility support by marked content}%
+\entry{accsupp}{Accessibility support by marked content}%
 [\entrysep]
-\entry{aliascnt}{2009/09/08}{1.3}{Alias counters}%
+\entry{aliascnt}{Alias counters}%
 [\entrysep]
-\entry{alphalph}{2011/05/13}{2.4}{Convert numbers to letters}%
+\entry{alphalph}{Convert numbers to letters}%
 [\entrysep]
-\entry{askinclude}{2011/12/02}{2.2}{Interactive asking of included files}%
+\entry{askinclude}{Interactive asking of included files}%
 [\entrysep]
-\entry{atbegshi}{2011/10/05}{1.16}{At begin shipout hook}%
+\entry{atbegshi}{At begin shipout hook}%
 [\entrysep]
-\entry{atenddvi}{2007/04/17}{1.1}{At end DVI hook}%
+\entry{atenddvi}{At end DVI hook}%
 [\entrysep]
-\entry{atveryend}{2011/06/30}{1.8}{Hooks at the very end of document}%
+\entry{atveryend}{Hooks at the very end of document}%
 [\entrysep]
-\entry{auxhook}{2011/03/04}{1.3}{Hooks for auxiliary files}%
+\entry{auxhook}{Hooks for auxiliary files}%
 [\entrysep]
-\entry{bigintcalc}{2012/04/08}{1.3}{Expandable calculations on big integers}%
+\entry{bigintcalc}{Expandable calculations on big integers}%
 [\entrysep]
-\entry{bitset}{2011/01/30}{1.1}{Handle bit-vector datatype}%
+\entry{bitset}{Handle bit-vector datatype}%
 [\entrysep]
-\entry{bmpsize}{2009/09/04}{1.6}{Extract size/resolution from bitmap files}%
+\entry{bmpsize}{Extract size/resolution from bitmap files}%
 [\entrysep]
-\entry{bookmark}{2011/12/02}{1.24}{PDF bookmarks}%
+\entry{catchfile}{Catch the contents of a file}%
 [\entrysep]
-\entry{catchfile}{2011/03/01}{1.6}{Catch the contents of a file}%
+\entry{centernot}{Centers the not symbol horizontally}%
 [\entrysep]
-\entry{centernot}{2011/07/11}{1.3}{Centers the not symbol horizontally}%
+\entry{chemarr}{Arrows for chemical reactions}%
 [\entrysep]
-\entry{chemarr}{2006/02/20}{1.2}{Arrows for chemical reactions}%
+\entry{classlist}{Record classes used in a document}%
 [\entrysep]
-\entry{classlist}{2011/10/17}{1.4}{Record classes used in a document}%
+\entry{colonequals}{Colon equals symbols}%
 [\entrysep]
-\entry{colonequals}{2006/08/01}{1.0}{Colon equals symbols}%
+\entry{dvipscol}{Alter the usage of the dvips color stack}%
 [\entrysep]
-\entry{dvipscol}{2008/08/11}{1.2}{Alter the usage of the dvips color stack}%
+\entry{engord}{Provides English ordinal numbers}%
 [\entrysep]
-\entry{embedfile}{2011/04/13}{2.6}{Embed files into PDF}%
+\entry{enparen}{Parentheses nesting}%
 [\entrysep]
-\entry{engord}{2010/03/01}{1.8}{Provides English ordinal numbers}%
+\entry{eolgrab}{Catch arguments delimited by end of line}%
 [\entrysep]
-\entry{enparen}{2012/01/07}{1.0}{Parentheses nesting}%
+\entry{etexcmds}{Avoid name clashes with \hologo{eTeX} commands}%
 [\entrysep]
-\entry{eolgrab}{2011/01/12}{1.0}{Catch arguments delimited by end of line}%
+\entry{fibnum}{Fibonacci numbers}%
 [\entrysep]
-\entry{etexcmds}{2011/02/16}{1.5}{Avoid name clashes with \hologo{eTeX} commands}%
+\entry{flags}{Setting/clearing of flags in bit fields}%
 [\entrysep]
-\entry{fibnum}{2012/04/08}{1.0}{Fibonacci numbers}%
+\entry{gettitlestring}{Cleanup title references}%
 [\entrysep]
-\entry{flags}{2007/09/30}{0.4}{Setting/clearing of flags in bit fields}%
+\entry{hologo}{A logo collection with bookmark support}%
 [\entrysep]
-\entry{gettitlestring}{2010/12/03}{1.4}{Cleanup title references}%
+\entry{holtxdoc}{Private additional ltxdoc support}%
 [\entrysep]
-\entry{grfext}{2010/08/19}{1.1}{Manage graphics extensions}%
+\entry{hopatch}{Wrapper for package hooks}%
 [\entrysep]
-\entry{hologo}{2012/04/26}{1.10}{A logo collection with bookmark support}%
+\entry{hycolor}{Color options for hyperref/bookmark}%
 [\entrysep]
-\entry{holtxdoc}{2012/03/21}{0.24}{Private additional ltxdoc support}%
+\entry{hypbmsec}{Bookmarks in sectioning commands}%
 [\entrysep]
-\entry{hopatch}{2011/06/24}{1.1}{Wrapper for package hooks}%
+\entry{hypcap}{Adjusting the anchors of captions}%
 [\entrysep]
-\entry{hycolor}{2011/01/30}{1.7}{Color options for hyperref/bookmark}%
+\entry{hypdestopt}{Hyperref destination optimizer}%
 [\entrysep]
-\entry{hypbmsec}{2007/04/11}{2.4}{Bookmarks in sectioning commands}%
+\entry{hypdoc}{Hyper extensions for doc.sty}%
 [\entrysep]
-\entry{hypcap}{2011/02/16}{1.11}{Adjusting the anchors of captions}%
+\entry{hypgotoe}{Links to embedded files}%
 [\entrysep]
-\entry{hypdestopt}{2011/05/13}{2.3}{Hyperref destination optimizer}%
+\entry{hyphsubst}{Substitute hyphenation patterns}%
 [\entrysep]
-\entry{hypdoc}{2011/08/19}{1.11}{Hyper extensions for doc.sty}%
+\entry{ifdraft}{Detect class options draft and final}%
 [\entrysep]
-\entry{hypgotoe}{2007/10/30}{0.1}{Links to embedded files}%
+\entry{iflang}{Checks for the current language}%
 [\entrysep]
-\entry{hyphsubst}{2008/06/09}{0.2}{Substitute hyphenation patterns}%
+\entry{intcalc}{Expandable calculations with integers}%
 [\entrysep]
-\entry{ifdraft}{2008/08/11}{1.3}{Detect class options draft and final}%
+\entry{kvdefinekeys}{Define keys}%
 [\entrysep]
-\entry{iflang}{2007/11/11}{1.5}{Checks for the current language}%
+\entry{kvsetkeys}{Key value parser}%
 [\entrysep]
-% iftex distribution \entry{ifluatex}{2010/03/01}{1.3}{Provides the ifluatex switch}%
-% iftex distribution [\entrysep]
-% iftex distribution \entry{ifpdf}{2011/01/30}{2.3}{Provides the ifpdf switch}%
-% iftex distribution [\entrysep]
-% iftex distribution \entry{ifvtex}{2010/03/01}{1.5}{Detect \hologo{VTeX} and its facilities}%
-% iftex distribution [\entrysep]
-\entry{infwarerr}{2010/04/08}{1.3}{Providing info/warning/error messages}%
+\entry{listingsutf8}{Allow UTF-8 in listings input}%
 [\entrysep]
-\entry{intcalc}{2007/09/27}{1.1}{Expandable calculations with integers}%
+\entry{ltxcmds}{\hologo{LaTeX} kernel commands for general use}%
 [\entrysep]
-\entry{kvdefinekeys}{2011/04/07}{1.3}{Define keys}%
+\entry{pagegrid}{Print page grid in background}%
 [\entrysep]
-\entry{kvsetkeys}{2012/04/25}{1.16}{Key value parser}%
+\entry{pagesel}{Select pages of a document for output}%
 [\entrysep]
-\entry{letltxmacro}{2010/09/02}{1.4}{Let assignment for \hologo{LaTeX} macros}%
+\entry{pdfcol}{Handle new color stacks for \hologo{pdfTeX}}%
 [\entrysep]
-\entry{listingsutf8}{2011/11/10}{1.2}{Allow UTF-8 in listings input}%
+\entry{pdfcolfoot}{Color stack for footnotes with \hologo{pdfTeX}}%
 [\entrysep]
-\entry{ltxcmds}{2011/11/09}{1.22}{\hologo{LaTeX} kernel commands for general use}%
+\entry{pdfcolparallel}{Color stacks support for parallel}%
 [\entrysep]
-\entry{mleftright}{2010/09/25}{1.0}{Math left/right delim.\@ as open/close}%
+\entry{pdfcolparcolumns}{Color stacks for parcolumns}%
 [\entrysep]
-\entry{pagegrid}{2009/12/04}{1.4}{Print page grid in background}%
+\entry{pdfcrypt}{Allows the setting of PDF encryption}%
 [\entrysep]
-\entry{pagesel}{2008/08/11}{1.8}{Select pages of a document for output}%
+\entry{pdfescape}{Implements \hologo{pdfTeX}'s escape features}%
 [\entrysep]
-\entry{pdfcol}{2007/12/12}{1.2}{Handle new color stacks for \hologo{pdfTeX}}%
+\entry{pdflscape}{Display of landscape pages in PDF}%
 [\entrysep]
-\entry{pdfcolfoot}{2012/01/02}{1.2}{Color stack for footnotes with \hologo{pdfTeX}}%
+\entry{pdfrender}{Access to some PDF graphics parameters}%
 [\entrysep]
-\entry{pdfcolparallel}{2010/01/11}{1.3}{Color stacks support for parallel}%
+\entry{picture}{Dimens for picture macros}%
 [\entrysep]
-\entry{pdfcolparcolumns}{2010/01/11}{1.3}{Color stacks for parcolumns}%
+\entry{pmboxdraw}{Poor man's box drawing characters}%
 [\entrysep]
-\entry{pdfcrypt}{2007/04/26}{1.0}{Allows the setting of PDF encryption}%
+\entry{protecteddef}{Define protected commands}%
 [\entrysep]
-\entry{pdfescape}{2011/11/25}{1.13}{Implements \hologo{pdfTeX}'s escape features}%
+\entry{refcount}{Data extraction from label references}%
 [\entrysep]
-\entry{pdflscape}{2008/08/11}{0.10}{Display of landscape pages in PDF}%
+\entry{rerunfilecheck}{Rerun checks for auxiliary files}%
 [\entrysep]
-\entry{pdfrender}{2010/01/28}{1.2}{Access to some PDF graphics parameters}%
+\entry{resizegather}{Resize overly large equations}%
 [\entrysep]
-\entry{picture}{2009/10/11}{1.3}{Dimens for picture macros}%
+\entry{rotchiffre}{Perform simple rotation ciphers}%
 [\entrysep]
-\entry{pmboxdraw}{2011/03/24}{1.1}{Poor man's box drawing characters}%
+\entry{scrindex}{Package index with \hologo{KOMAScript} classes}%
 [\entrysep]
-\entry{protecteddef}{2011/01/31}{1.0}{Define protected commands}%
+\entry{selinput}{Semi-automatic input encoding detection}%
 [\entrysep]
-\entry{refcount}{2011/10/16}{3.4}{Data extraction from label references}%
+\entry{setouterhbox}{Set hbox in outer horizontal mode}%
 [\entrysep]
-\entry{rerunfilecheck}{2011/04/15}{1.7}{Rerun checks for auxiliary files}%
+\entry{settobox}{Assign box dimensions to length registers}%
 [\entrysep]
-\entry{resizegather}{2010/03/01}{1.2}{Resize overly large equations}%
+\entry{soulutf8}{Permit use of UTF-8 characters in soul}%
 [\entrysep]
-\entry{rotchiffre}{2010/11/12}{1.0}{Perform simple rotation ciphers}%
+\entry{stackrel}{Adding subscript option to stackrel}%
 [\entrysep]
-\entry{scrindex}{2008/08/11}{1.1}{Package index with \hologo{KOMAScript} classes}%
+\entry{stampinclude}{Include files based on time stamps}%
 [\entrysep]
-\entry{selinput}{2007/09/09}{1.2}{Semi-automatic input encoding detection}%
+\entry{tabularht}{Tabular with height specified}%
 [\entrysep]
-\entry{setouterhbox}{2007/09/09}{1.7}{Set hbox in outer horizontal mode}%
+\entry{tabularkv}{Tabular with key value interface}%
 [\entrysep]
-\entry{settobox}{2008/08/11}{1.4}{Assign box dimensions to length registers}%
+\entry{telprint}{Format German phone numbers}%
 [\entrysep]
-\entry{soulutf8}{2007/09/09}{1.0}{Permit use of UTF-8 characters in soul}%
+\entry{thepdfnumber}{Print PDF numbers with minimal digits}%
 [\entrysep]
-\entry{stackrel}{2007/11/11}{1.2}{Adding subscript option to stackrel}%
+\entry{twoopt}{Definitions with two optional arguments}%
 [\entrysep]
-\entry{stampinclude}{2008/07/14}{1.0}{Include files based on time stamps}%
-[\entrysep]
-\entry{tabularht}{2007/04/11}{2.5}{Tabular with height specified}%
-[\entrysep]
-\entry{tabularkv}{2006/02/20}{1.1}{Tabular with key value interface}%
-[\entrysep]
-\entry{telprint}{2008/08/11}{1.10}{Format German phone numbers}%
-[\entrysep]
-\entry{thepdfnumber}{2011/11/24}{1.0}{Print PDF numbers with minimal digits}%
-[\entrysep]
-\entry{twoopt}{2008/08/11}{1.5}{Definitions with two optional arguments}%
-[\entrysep]
-\entry{uniquecounter}{2011/01/30}{1.2}{Provide unlimited unique counter}%
+\entry{uniquecounter}{Provide unlimited unique counter}%
 \end{overview}
 
 \section{Packages}
@@ -457,19 +436,6 @@
 \tocinclude{bmpsize}
 
 \newpage
-\subsection{\pkgsectformat{bookmark}}
-\label{bookmark}
-\begin{abstract}
-This package implements a new bookmark (outline) organization for
-package \xpackage{hyperref}. Bookmark properties such
-as style and color can now be set. Other action types
-are available (URI, GoToR, Named). The bookmarks are
-generated in the first compile run. Package \xpackage{hyperref}
-uses two runs.
-\end{abstract}
-\tocinclude{bookmark}
-
-\newpage
 \subsection{\pkgsectformat{catchfile}}
 \label{catchfile}
 \begin{abstract}
@@ -530,14 +496,6 @@
 \end{abstract}
 \tocinclude{dvipscol}
 
-\newpage
-\subsection{\pkgsectformat{embedfile}}
-\label{embedfile}
-\begin{abstract}
-This package embeds files to a PDF document.
-Currently the only supported driver is \pdfTeX\ $>=$ 1.30 in PDF mode.
-\end{abstract}
-\tocinclude{embedfile}
 
 \newpage
 \subsection{\pkgsectformat{engord}}
@@ -608,16 +566,6 @@
 \tocinclude{gettitlestring}
 
 \newpage
-\subsection{\pkgsectformat{grfext}}
-\label{grfext}
-\begin{abstract}
-This package provides macros for adding and reordering
-graphics extensions of package \xpackage{graphics}.
-\end{abstract}
-\tocinclude{grfext}
-
-
-\newpage
 \subsection{\pkgsectformat{hologo}}
 \label{hologo}
 \begin{abstract}
@@ -742,15 +690,6 @@
 \tocinclude{iflang}
 
 \newpage
-\subsection{\pkgsectformat{infwarerr}}
-\label{infwarerr}
-\begin{abstract}
-This package provides a complete set of macros for informations,
-warnings and error messages with support for \plainTeX.
-\end{abstract}
-\tocinclude{infwarerr}
-
-\newpage
 \subsection{\pkgsectformat{intcalc}}
 \label{intcalc}
 \begin{abstract}
@@ -782,18 +721,6 @@
 \tocinclude{kvsetkeys}
 
 \newpage
-\subsection{\pkgsectformat{letltxmacro}}
-\label{letltxmacro}
-\begin{abstract}
-\TeX's \cs{let} assignment does not work for \LaTeX\ macros
-with optional arguments or for macros that are defined
-as robust macros by \cs{DeclareRobustCommand}. This package
-defines \cs{LetLtxMacro} that also takes care of the involved
-internal macros.
-\end{abstract}
-\tocinclude{letltxmacro}
-
-\newpage
 \subsection{\pkgsectformat{listingsutf8}}
 \label{listingsutf8}
 \begin{abstract}
@@ -816,18 +743,6 @@
 \tocinclude{ltxcmds}
 
 \newpage
-\subsection{\pkgsectformat{mleftright}}
-\label{mleftright}
-\begin{abstract}
-\TeX\ sets subformulas by \cs{left} and \cs{right} as inner formulas
-with additional surrounding spaces in some situations. This package
-provides \cs{mleft} and \cs{mright} that call \cs{left} and \cs{right},
-but the delimiters will act as normal \cs{mathopen} and \cs{mathclose}
-delimiters without the additional space of an inner formula.
-\end{abstract}
-\tocinclude{mleftright}
-
-\newpage
 \subsection{\pkgsectformat{pagegrid}}
 \label{pagegrid}
 \begin{abstract}

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -63,7 +63,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/pagegrid.sty
 %    TDS:doc/latex/oberdiek/pagegrid.pdf
-%    TDS:doc/latex/oberdiek/test/pagegrid-test1.tex
 %    TDS:source/latex/oberdiek/pagegrid.dtx
 %
 %<*ignore>
@@ -131,10 +130,6 @@
   \file{pagegrid.sty}{\from{pagegrid.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{pagegrid-test1.tex}{\from{pagegrid.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pagegrid.xml}{\from{pagegrid.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +166,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pagegrid.drv}
 %
@@ -772,119 +752,8 @@
 \pagegrid at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input pagegrid.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -932,7 +801,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pagegrid.sty & tex/latex/oberdiek/pagegrid.sty\\
 %   pagegrid.pdf & doc/latex/oberdiek/pagegrid.pdf\\
-%   test/pagegrid-test1.tex & doc/latex/oberdiek/test/pagegrid-test1.tex\\
 %   pagegrid.dtx & source/latex/oberdiek/pagegrid.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pagesel.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pagesel.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pagesel.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{pagesel.drv}{\from{pagesel.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{pagesel.sty}{\from{pagesel.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pagesel.xml}{\from{pagesel.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pagesel.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,10 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/pdfcol.sty
 %    TDS:doc/latex/oberdiek/pdfcol.pdf
-%    TDS:doc/latex/oberdiek/test/pdfcol-test1.tex
-%    TDS:doc/latex/oberdiek/test/pdfcol-test2.tex
-%    TDS:doc/latex/oberdiek/test/pdfcol-test3.tex
-%    TDS:doc/latex/oberdiek/test/pdfcol-test4.tex
 %    TDS:source/latex/oberdiek/pdfcol.dtx
 %
 %<*ignore>
@@ -143,10 +139,6 @@
 %  \file{pdfcol-test2.tex}{\from{pdfcol.dtx}{test2}}%
 %  \file{pdfcol-test3.tex}{\from{pdfcol.dtx}{test3}}%
 %  \file{pdfcol-test4.tex}{\from{pdfcol.dtx}{test4}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pdfcol.xml}{\from{pdfcol.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -183,21 +175,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdfcol.drv}
 %
@@ -766,181 +743,8 @@
 \PDFCOL at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input pdfcol.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Very simple test}
-%
-%    \begin{macrocode}
-%<*test2|test3>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\usepackage{pdfcol}[2018/11/01]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
-  \begin{qstest}{pdfcol}{}%
-    \makeatletter
-%<*test2>
-    \Expect*{\ifpdfcolAvailable true\else false\fi}{false}%
-%</test2>
-%<*test3>
-    \Expect*{\ifpdfcolAvailable true\else false\fi}{true}%
-    \Expect*{\number\@pdfcolorstack}{0}%
-%</test3>
-    \setbox0=\hbox{%
-      \pdfcolInitStack{test}%
-%<*test3>
-      \Expect*{\number\pdfcol at Stack@test}{1}%
-      \Expect*{\number\@pdfcolorstack}{0}%
-%</test3>
-      \pdfcolSwitchStack{test}%
-%<*test3>
-      \Expect*{\number\@pdfcolorstack}{1}%
-%</test3>
-      \pdfcolSetCurrent{test}%
-      \pdfcolSetCurrent{}%
-    }%
-    \Expect*{\the\wd0}{0.0pt}%
-%<*test3>
-    \Expect*{\number\@pdfcolorstack}{0}%
-    \Expect*{\number\pdfcol at Stack@test}{1}%
-    \Expect*{\pdfcolIfStackExists{test}{true}{false}}{true}%
-%</test3>
-    \Expect*{\pdfcolIfStackExists{dummy}{true}{false}}{false}%
-  \end{qstest}%
-\end{document}
-%</test2|test3>
-%    \end{macrocode}
-%
-% \subsection{Detection of package \xpackage{luacolor}}
-%
-%    \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{luacolor}
-\usepackage{pdfcol}
-\makeatletter
-\ifpdfcolAvailable
-  \@latex at error{Detection of package luacolor failed}%
-\fi
-\csname @@end\endcsname
-%</test4>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -988,10 +792,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pdfcol.sty & tex/generic/oberdiek/pdfcol.sty\\
 %   pdfcol.pdf & doc/latex/oberdiek/pdfcol.pdf\\
-%   test/pdfcol-test1.tex & doc/latex/oberdiek/test/pdfcol-test1.tex\\
-%   test/pdfcol-test2.tex & doc/latex/oberdiek/test/pdfcol-test2.tex\\
-%   test/pdfcol-test3.tex & doc/latex/oberdiek/test/pdfcol-test3.tex\\
-%   test/pdfcol-test4.tex & doc/latex/oberdiek/test/pdfcol-test4.tex\\
 %   pdfcol.dtx & source/latex/oberdiek/pdfcol.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -63,7 +63,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/pdfcolfoot.sty
 %    TDS:doc/latex/oberdiek/pdfcolfoot.pdf
-%    TDS:doc/latex/oberdiek/test/pdfcolfoot-test1.tex
 %    TDS:source/latex/oberdiek/pdfcolfoot.dtx
 %
 %<*ignore>
@@ -131,10 +130,6 @@
   \file{pdfcolfoot.sty}{\from{pdfcolfoot.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{pdfcolfoot-test1.tex}{\from{pdfcolfoot.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pdfcolfoot.xml}{\from{pdfcolfoot.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +166,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdfcolfoot.drv}
 %
@@ -502,36 +482,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    \begin{macrocode}
-%<*test1>
-\NeedsTeXFormat{LaTeX2e}
-\AtEndDocument{%
-  \typeout{}%
-  \typeout{**************************************}%
-  \typeout{*** \space Check the PDF file manually! \space ***}%
-  \typeout{**************************************}%
-  \typeout{}%
-}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfcompresslevel\endcsname\relax
-\else
-  \pdfcompresslevel=0 %
-\fi
-\documentclass[12pt,a5paper]{article}
-\usepackage{pdfcolfoot}[2016/05/16]
-\dimen\footins=\baselineskip % for testing
-\begin{document}
-  Black\footnote{Black \textcolor{blue}{Blue\\Blue} Black} %
-  \textcolor{red}{Red\newpage Red} Black%
-\end{document}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -579,7 +531,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pdfcolfoot.sty & tex/latex/oberdiek/pdfcolfoot.sty\\
 %   pdfcolfoot.pdf & doc/latex/oberdiek/pdfcolfoot.pdf\\
-%   test/pdfcolfoot-test1.tex & doc/latex/oberdiek/test/pdfcolfoot-test1.tex\\
 %   pdfcolfoot.dtx & source/latex/oberdiek/pdfcolfoot.dtx\\
 % \end{tabular}^^A
 % }^^A
@@ -695,7 +646,7 @@
 % \bibitem{pdfcol}
 %   Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
 %   2007/09/09;\\
-%   \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+%   \CTANpkg{pdfcol}.
 %
 % \end{thebibliography}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -63,7 +63,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/pdfcolparallel.sty
 %    TDS:doc/latex/oberdiek/pdfcolparallel.pdf
-%    TDS:doc/latex/oberdiek/test/pdfcolparallel-test1.tex
 %    TDS:source/latex/oberdiek/pdfcolparallel.dtx
 %
 %<*ignore>
@@ -131,10 +130,6 @@
   \file{pdfcolparallel.sty}{\from{pdfcolparallel.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{pdfcolparallel-test1.tex}{\from{pdfcolparallel.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pdfcolparallel.xml}{\from{pdfcolparallel.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +166,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdfcolparallel.drv}
 %
@@ -797,106 +777,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    The test file is a modified version of the file that
-%    Alexander Hirsch has posted in \xnewsgroup{de.comp.text.tex}:
-%    \URL{``\link{\texttt{parallel.sty} und farbiger Text}''}^^A
-%    {https://groups.google.com/group/de.comp.text.tex/msg/6a759cf33bb071a5}
-%    \begin{macrocode}
-%<*test1>
-\AtEndDocument{%
-  \typeout{}%
-  \typeout{**************************************}%
-  \typeout{*** \space Check the PDF file manually! \space ***}%
-  \typeout{**************************************}%
-  \typeout{}%
-}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{pdfcolparallel}[2016/05/16]
-
-\begin{document}
-  \color{green}%
-  Green%
-  \begin{Parallel}{0.47\textwidth}{0.47\textwidth}%
-    \ParallelLText{%
-      \textcolor{red}{%
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
-      }%
-    }%
-    \ParallelRText{%
-      \textcolor{blue}{%
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
-      }%
-    }%
-    \ParallelPar
-    \ParallelLText{%
-      Default %
-      \color{red}%
-      Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-      Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
-    }%
-    \ParallelRText{%
-      Default %
-      \color{blue}%
-      Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-      Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
-    }%
-    \ParallelPar
-    \ParallelLText{%
-      \begin{enumerate}%
-      \item left text, left text, left text, left text, %
-            left text, left text, left text, left text,%
-      \item left text, left text, left text, left text, %
-            left text, left text, left text, left text.%
-      \end{enumerate}%
-    }%
-    \ParallelRText{%
-      \begin{enumerate}%
-      \item right text, right text, right text, right text, %
-            right text, right text, right text, right text.%
-      \item right text, right text, right text, right text, %
-            right text, right text, right text, right text.%
-      \end{enumerate}%
-    }%
-  \end{Parallel}%
-  \begin{Parallel}[p]{\textwidth}{\textwidth}%
-    \ParallelLText{%
-      \textcolor{red}{%
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-        Foo bar bla bla bla.%
-      }%
-      \par
-      Und noch ein Absatz.%
-    }%
-    \ParallelRText{%
-      \textcolor{blue}{%
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-        Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
-        Foo bar bla bla bla.%
-      }%
-    }%
-  \end{Parallel}%
-  \begin{Parallel}[p]{\textwidth}{\textwidth}%
-    \ParallelLText{%
-      \rule{1pt}{.98\textheight}\Huge g%
-    }%
-    \ParallelRText{%
-      \rule{1pt}{.98\textheight}y%
-    }%
-  \end{Parallel}%
-  Green%
-\end{document}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -944,7 +826,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pdfcolparallel.sty & tex/latex/oberdiek/pdfcolparallel.sty\\
 %   pdfcolparallel.pdf & doc/latex/oberdiek/pdfcolparallel.pdf\\
-%   test/pdfcolparallel-test1.tex & doc/latex/oberdiek/test/pdfcolparallel-test1.tex\\
 %   pdfcolparallel.dtx & source/latex/oberdiek/pdfcolparallel.dtx\\
 % \end{tabular}^^A
 % }^^A
@@ -1065,7 +946,7 @@
 % \bibitem{pdfcol}
 %   Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
 %   2007/09/09;\\
-%   \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+%   \CTANpkg{pdfcol}.
 %
 % \end{thebibliography}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -63,7 +63,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/pdfcolparcolumns.sty
 %    TDS:doc/latex/oberdiek/pdfcolparcolumns.pdf
-%    TDS:doc/latex/oberdiek/test/pdfcolparcolumns-test1.tex
 %    TDS:source/latex/oberdiek/pdfcolparcolumns.dtx
 %
 %<*ignore>
@@ -131,10 +130,6 @@
   \file{pdfcolparcolumns.sty}{\from{pdfcolparcolumns.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{pdfcolparcolumns-test1.tex}{\from{pdfcolparcolumns.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pdfcolparcolumns.xml}{\from{pdfcolparcolumns.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +166,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdfcolparcolumns.drv}
 %
@@ -525,61 +505,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    The test file is a modified version of the file that
-%    Donald Goodman has posted in \xnewsgroup{comp.text.tex}: ^^A
-%    \URL{``\link{Re: \xpackage{xcolor} glitches}''}^^A
-%    {https://groups.google.com/group/comp.text.tex/msg/8eda74ed292012bb}
-%    \begin{macrocode}
-%<*test1>
-\NeedsTeXFormat{LaTeX2e}
-\AtEndDocument{%
-  \typeout{}%
-  \typeout{**************************************}%
-  \typeout{*** \space Check the PDF file manually! \space ***}%
-  \typeout{**************************************}%
-  \typeout{}%
-}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{pdfcolparcolumns}
-
-\newcommand{\instruct}[1]{%
-  \noindent
-  \footnotesize
-  \textcolor{red}{#1}%
-}
-
-\begin{document}
-  \begin{parcolumns}[colwidths={1=2.3in,2=2.3in},sloppy]{2}%
-    \colchunk[1]{%
-      \instruct{Et non dicitur versus} %
-      Fidelium anim\ae\ %
-      \instruct{%
-        sed immediate subiungitur antiphona finalis %
-        beat\ae\ Mari\ae\ Virginis%
-      } %
-      100.%
-    }%
-    \colchunk[2]{%
-      \instruct{%
-        And the verse %
-        \textcolor{black}{May the souls of the faithful} %
-        is not said, but the final antiphon of the %
-        Blessed Virgin Mary, %
-        \textcolor{black}{100,} %
-        is immediately joined.%
-      }%
-    }%
-  \end{parcolumns}%
-\end{document}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -627,7 +554,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pdfcolparcolumns.sty & tex/latex/oberdiek/pdfcolparcolumns.sty\\
 %   pdfcolparcolumns.pdf & doc/latex/oberdiek/pdfcolparcolumns.pdf\\
-%   test/pdfcolparcolumns-test1.tex & doc/latex/oberdiek/test/pdfcolparcolumns-test1.tex\\
 %   pdfcolparcolumns.dtx & source/latex/oberdiek/pdfcolparcolumns.dtx\\
 % \end{tabular}^^A
 % }^^A
@@ -743,12 +669,12 @@
 % \bibitem{parcolumns}
 %   Jonathan Sauer: \textit{The \xpackage{parcolumns} package};
 %   2004/11/25;\\
-%   \CTAN{macros/latex/contrib/sauerj/parcolumns.pdf}.
+%   \CTANpkg{parcolumns}.
 %
 % \bibitem{pdfcol}
 %   Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
 %   2007/09/09;\\
-%   \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+%   \CTANpkg{pdfcol}.
 %
 % \end{thebibliography}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -132,10 +132,6 @@
   \file{pdfcrypt.drv}{\from{pdfcrypt.dtx}{driver}}%
   \usedir{tex/generic/oberdiek}%
   \file{pdfcrypt.sty}{\from{pdfcrypt.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pdfcrypt.xml}{\from{pdfcrypt.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -172,21 +168,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdfcrypt.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -68,12 +68,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/pdfescape.sty
 %    TDS:doc/latex/oberdiek/pdfescape.pdf
-%    TDS:doc/latex/oberdiek/test/pdfescape-test1.tex
-%    TDS:doc/latex/oberdiek/test/pdfescape-test2.tex
-%    TDS:doc/latex/oberdiek/test/pdfescape-test3.tex
-%    TDS:doc/latex/oberdiek/test/pdfescape-test4.tex
-%    TDS:doc/latex/oberdiek/test/pdfescape-test5.tex
-%    TDS:doc/latex/oberdiek/test/pdfescape-test6.tex
 %    TDS:source/latex/oberdiek/pdfescape.dtx
 %
 %<*ignore>
@@ -151,10 +145,6 @@
 %  \file{pdfescape-test4.tex}{\from{pdfescape.dtx}{test4}}%
 %  \file{pdfescape-test5.tex}{\from{pdfescape.dtx}{test5}}%
 %  \file{pdfescape-test6.tex}{\from{pdfescape.dtx}{test6}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pdfescape.xml}{\from{pdfescape.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -191,21 +181,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdfescape.drv}
 %
@@ -1310,736 +1285,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input pdfescape.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-%    \begin{macrocode}
-%<*test2|test3|test4|test5>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-%    \end{macrocode}
-%
-% \subsection{Test with \cs{pdfescape...} commands}
-%
-%    \begin{macrocode}
-%<*test2>
-\ProvidesFile{pdfescape-test2.tex}%
-    [2016/05/16 v1.14 Test with \string\pdfescape... commands]%
-%</test2>
-%    \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...}, with \eTeX}
-%
-%    \begin{macrocode}
-%<*test3>
-\ProvidesFile{pdfescape-test3.tex}%
-    [2016/05/16 v1.14 Test without \string\pdfescape..., with e-TeX]%
-%</test3>
-%    \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...} and \eTeX}
-%
-%    \begin{macrocode}
-%<*test4>
-\ProvidesFile{pdfescape-test4.tex}%
-    [2016/05/16 v1.14 Test without \string\pdfescape... and e-TeX]%
-%</test4>
-%    \end{macrocode}
-%
-% \subsection{Test with \LuaTeX}
-%
-%    \begin{macrocode}
-%<*test5>
-\ProvidesFile{pdfescape-test5.tex}%
-    [2016/05/16 v1.14 Test with LuaTeX]%
-%</test5>
-%    \end{macrocode}
-%
-% \subsection{Check/ensure test preconditions}
-%
-% \subsubsection{Check \cs{pdfescape...}}
-%
-%    \begin{macrocode}
-%<*test2>
-\@ifundefined{pdfescapehex}{%
-  \PackageError{pdfescape-test2}{%
-    Missing \string\pdfescape... commands%
-  }{Test aborted.}%
-  \stop
-}{}
-%</test2>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*test3|test4>
-\let\pdfescapehex\@undefined
-\let\pdfunescapehex\@undefined
-\let\pdfescapename\@undefined
-\let\pdfescapestring\@undefined
-%</test3|test4>
-%    \end{macrocode}
-%
-% \subsubsection{Check \eTeX}
-%
-%    \begin{macrocode}
-%<*test3>
-\@ifundefined{numexpr}{%
-  \PackageError{pdfescape-test3}{%
-    Missing \eTeX
-  }{Test aborted.}%
-  \stop
-}{}
-%</test3>
-%    \end{macrocode}
-% Package \xpackage{qstest} uses \eTeX, thus \eTeX's features
-% can only be disabled later during loading of package \xpackage{pdfescape}.
-%
-% \subsubsection{Check \LuaTeX}
-%
-%    \begin{macrocode}
-%<*test5>
-\@ifundefined{directlua}{%
-  \PackageError{pdfescape-test5}{%
-    Missing LuaTeX%
-  }{Test aborted.}%
-  \stop
-}{}
-%</test5>
-%    \end{macrocode}
-%
-% \subsection{Common part}
-%
-%    The files for testing uses the framework, provided by the
-%    new package \xpackage{qstest} of David Kastrup.
-%    \begin{macrocode}
-\RequirePackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\ExpectVar}[2]{%
-  \ifx#1#2%
-  \else
-    \begingroup
-      \@onelevel at sanitize#1%
-      \@onelevel at sanitize#2%
-      \typeout{[#1] <> [#2]}% hash-ok
-    \endgroup
-  \fi
-  \Expect*{\ifx#1#2true\else false\fi}{true}%
-}
-
-\makeatletter
-\begingroup
-  \gdef\AllBytes{}%
-  \count@=0 %
-  \catcode0=12 %
-  \@whilenum\count@<256 \do{%
-    \lccode0=\count@
-    \ifnum\count@=32 %
-      \xdef\AllBytes{\AllBytes\space}%
-    \else
-      \lowercase{%
-        \xdef\AllBytes{\AllBytes^^@}%
-      }%
-    \fi
-    \advance\count@ by 1 %
-  }%
-\endgroup
-\newcommand*{\AllBytesHex}{%
-  000102030405060708090A0B0C0D0E0F%
-  101112131415161718191A1B1C1D1E1F%
-  202122232425262728292A2B2C2D2E2F%
-  303132333435363738393A3B3C3D3E3F%
-  404142434445464748494A4B4C4D4E4F%
-  505152535455565758595A5B5C5D5E5F%
-  606162636465666768696A6B6C6D6E6F%
-  707172737475767778797A7B7C7D7E7F%
-  808182838485868788898A8B8C8D8E8F%
-  909192939495969798999A9B9C9D9E9F%
-  A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
-  B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
-  C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
-  D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
-  E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
-  F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\@onelevel at sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
-  \expandafter\newcommand\expandafter*\expandafter\AllBytesHexLC
-      \expandafter{\AllBytesHex}%
-}
-\newcommand*{\AllBytesName}{}
-\begingroup
-  \catcode`\#=12 %
-  \xdef\AllBytesName{%
-    #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
-    #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
-    #20!"#23$#25&'#28#29*+,-.#2F%
-    0123456789:;#3C=#3E?%
-    @ABCDEFGHIJKLMNO%
-    PQRSTUVWXYZ#5B\@backslashchar#5D^_%
-    `abcdefghijklmno%
-    pqrstuvwxyz#7B|#7D\string~#7F%
-    #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
-    #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
-    #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
-    #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
-    #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
-    #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
-    #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
-    #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
-  }%
-\endgroup
-\@onelevel at sanitize\AllBytesName
-
-\newcommand*{\AllBytesString}{}
-\begingroup
-  \def\|{|}%
-  \edef\%{\@percentchar}%
-  \catcode`\|=0 %
-  \catcode`\#=12 %
-  \catcode`\~=12 %
-  \catcode`\\=12 %
-  |xdef|AllBytesString{%
-    \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
-    \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
-    \040!"#$|%&'\(\)*+,-./%
-    0123456789:;<=>?%
-    @ABCDEFGHIJKLMNO%
-    PQRSTUVWXYZ[\\]^_%
-    `abcdefghijklmno%
-    pqrstuvwxyz{||}~\177%
-    \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
-    \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
-    \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
-    \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
-    \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
-    \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
-    \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
-    \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
-  }%
-|endgroup
-\@onelevel at sanitize\AllBytesString
-
-%<*test4>
-\let\org at detokenize\detokenize
-\let\detokenize\@undefined
-\let\org at numexpr\numexpr
-\let\numexpr\@undefined
-%</test4>
-\RequirePackage{pdfescape}
-%<*test4>
-\let\detokenize\org at detokenize
-\let\numexpr\org at numexpr
-%</test4>
-
-\begin{qstest}{all-hex}{\AllBytes, escapehex}
-  \EdefEscapeHex\x{\AllBytes}%
-  \Expect*{\x}*{\AllBytesHex}%
-  \ExpectVar\x\AllBytesHex
-\end{qstest}
-
-\begin{qstest}{all-unhex}{\AllBytesHex, unescapehex}
-  \EdefUnescapeHex\x{\AllBytesHex}%
-  \Expect*{\x}*{\AllBytes}%
-  \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{all-unhex-lc}{\AllBytesHexLC, unescapehex, lowercase}
-  \EdefUnescapeHex\x{\AllBytesHexLC}%
-  \Expect*{\x}*{\AllBytes}%
-  \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{unhex-incomplete}{unescapehex, incomplete}
-  \EdefUnescapeHex\x{4}%
-  \Expect*{\x}{@}%
-\end{qstest}
-
-\begin{qstest}{unhex-space}{unescapehex, space}
-  \EdefUnescapeHex\x{20}%
-  \Expect*{\x}{ }%
-  \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-spaces}{unescapehex, spaces}
-  \EdefUnescapeHex\x{204020204120}%
-  \def\y#1{%
-    \edef\z{#1\string @#1#1\string A#1}%
-  }\y{ }%
-  \Expect*{\x}*{\z}%
-  \ExpectVar\x\z
-\end{qstest}
-
-\begin{qstest}{unhex-hash}{unescapehex, hash}
-  \catcode`\#=12 %
-  \EdefUnescapeHex\x{#20}%
-  \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-invalid}{unescapehex, invalid}
-  \def\test#1#2{%
-    \EdefUnescapeHex\x{#1}%
-    \edef\y{#2}%
-    \@onelevel at sanitize\y
-    \ExpectVar\x\y
-  }%
-%<*test2>
-  \edef\x{\pdfunescapehex{4X}}%
-  \edef\y{\string @}%
-  \ifx\x\y
-  \else
-    \def~{\space}%
-    \typeout{************************************}%
-    \typeout{* Your pdfTeX contains bug 777.~~~~*}%
-    \typeout{* This test is redefined as dummy, *}%
-    \typeout{* because it triggers the bug.~~~~~*}%
-    \typeout{************************************}%
-    \def\test#1#2{}%
-  \fi
-%</test2>
-  \test{X}{}%
-  \test{XY}{}%
-  \test{XYZ}{}%
-  \test{A}{^^a0}%
-  \test{AX}{^^a0}%
-  \test{XA}{^^a0}%
-  \test{XXAXX}{^^a0}%
-\end{qstest}
-
-\begin{qstest}{all-name}{\AllBytes, escapename}
-  \EdefEscapeName\x{\AllBytes}%
-  \Expect*{\x}*{\AllBytesName}%
-  \ExpectVar\x\AllBytesName
-\end{qstest}
-
-\begin{qstest}{all-string}{\AllBytes, escapestring}
-  \EdefEscapeString\x{\AllBytes}%
-  \Expect*{\x}*{\AllBytesString}%
-  \ExpectVar\x\AllBytesString
-\end{qstest}
-
-\begin{qstest}{uchexdigit}{unescape, uppercase hex digit}
-  \catcode`\@=11 %
-  \catcode0=12 %
-  \def\test#1#2{%
-    \uccode0=#1\relax
-    \uppercase{%
-      \def\x{^^@}%
-    }%
-    \Expect*{%
-       \ifcase\expandafter\PE at TestUcHexDigit\x
-         true%
-       \else
-         false%
-       \fi
-    }{#2}%
-  }%
-  \def\range#1#2#3{%
-    \count0=#1\relax
-    \loop
-    \ifnum\count0<#2\relax
-      \test{\count0}{#3}%
-      \advance\count0 by 1 %
-    \repeat
-  }%
-  \range{0}{47}{false}%
-  \range{48}{57}{true}%
-  \range{58}{64}{false}%
-  \range{65}{70}{true}%
-  \range{71}{255}{false}%
-\end{qstest}
-
-\begin{qstest}{unescapename}{unescapename}
-  \def\test#1#2{%
-    \EdefUnescapeName\x{#1}%
-    \edef\y{#2}%
-    \@onelevel at sanitize\y
-    \ExpectVar\x\y
-  }%
-  \catcode`\#=12 %
-  \catcode0=12 %
-  \test{}{}%
-  \test{x}{x}%
-  \test{xy}{xy}%
-  \test{#}{#}%
-  \test{##}{##}%
-  \test{###}{###}%
-  \test{####}{####}%
-  \test{#x}{#x}%
-  \test{#xy}{#xy}%
-  \test{#1}{#1}%
-  \test{#40}{@}%
-  \test{#400}{@0}%
-  \test{#4x0}{#4x0}%
-  \test{#ab}{^^ab}%
-  \test{#00}{^^@}%
-  \test{x#40y#40z}{x at y@z}%
-  \test{#40#40#40#40}{@@@@}%
-  \test{a#x}{a#x}%
-  \test{a#xy}{a#xy}%
-  \test{a#1}{a#1}%
-  \test{a#40}{a@}%
-  \test{a#400}{a at 0}%
-  \test{#20}{ }%
-  \test{a#20}{a }%
-  \test{a#20b}{a b}%
-  \test{a#20#20#20b}{a \space\space b}%
-\end{qstest}
-
-\begin{qstest}{unescapestring}{unescapestring}
-  \def\test#1#2{%
-    \EdefUnescapeString\x{#1}%
-    \edef\y{#2}%
-    \@onelevel at sanitize\y
-    \ExpectVar\x\y
-  }%
-  \catcode0=12 %
-  \def\DefChar#1#2{%
-    \begingroup
-      \uccode0=#2\relax
-    \uppercase{\endgroup
-      \def#1{^^@}%
-    }%
-  }%
-  \DefChar\nul{0}%
-  \DefChar\one{1}%
-  \DefChar\bel{8}%
-  \DefChar\tab{9}%
-  \DefChar\lf{10}%
-  \DefChar\ff{12}%
-  \DefChar\cr{13}%
-  \DefChar\\{92}%
-  \test{}{}%
-  \test{a}{a}%
-  \test{\\}{}%
-  \test{\\\\}{\\}%
-  \test{\\\\y}{\\y}%
-  \test{\\000}{\nul}%
-  \test{\\b}{\bel}%
-  \test{\\t}{\tab}%
-  \test{\\n}{\lf}%
-  \test{\\f}{\ff}%
-  \test{\\r}{\cr}%
-  \test{\\(}{(}%
-  \test{\\)}{)}%
-  \test{\\040}{ }%
-  \test{\\100}{@}%
-  \test{\\40}{ }%
-  \test{\\1}{\one}%
-  \test{\\01}{\one}%
-  \test{\\001}{\one}%
-  \test{\\18}{\one8}%
-  \test{\\018}{\one8}%
-  \test{\\0018}{\one8}%
-  \test{x\\}{x}%
-  \test{x\\\\}{x\\}%
-  \test{x\\\\y}{x\\y}%
-  \test{x\\000}{x\nul}%
-  \test{x\\b}{x\bel}%
-  \test{x\\t}{x\tab}%
-  \test{x\\n}{x\lf}%
-  \test{x\\f}{x\ff}%
-  \test{x\\r}{x\cr}%
-  \test{x\\(}{x(}%
-  \test{x\\)}{x)}%
-  \test{x\\040}{x }%
-  \test{x\\100}{x@}%
-  \test{x\\40}{x }%
-  \test{x\\1}{x\one}%
-  \test{x\\01}{x\one}%
-  \test{x\\001}{x\one}%
-  \test{x\\18}{x\one8}%
-  \test{x\\018}{x\one8}%
-  \test{x\\0018}{x\one8}%
-  \test{\\b\\t\\n\\f\\r\\(\\)\\\\\\000\\040}{%
-    \bel\tab\lf\ff\cr()\\\nul\space
-  }%
-  \test{\\\lf}{}%
-  \test{x\\\lf}{x}%
-  \test{\cr}{\lf}%
-  \test{\cr\lf}{\lf}%
-  \test{\lf}{\lf}%
-  \test{\lf\cr}{\lf\lf}%
-  \test{x\cr}{x\lf}%
-  \test{x\cr\lf}{x\lf}%
-  \test{x\lf}{x\lf}%
-  \test{x\lf\cr}{x\lf\lf}%
-  \test{x\\\cr\lf y\cr}{xy\lf}%
-%
-  \test{\\409}{ 9}%
-  \test{\\800}{800}%
-  \test{\\900}{900}%
-  \test{\\578}{/8}%
-  \test{\\477}{?}%
-  \test{\\377}{^^ff}%
-  \test{\\777}{^^ff}%
-  \test{\\7777}{^^ff7}%
-\end{qstest}
-\stop
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</test2|test3|test4|test5>
-%    \end{macrocode}
-%
-% \subsubsection{Test for \hologo{iniTeX}}
-%
-%    \begin{macrocode}
-%<*test6>
-\input pdfescape.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\^=7 %
-\catcode`\@=11 %
-%    \end{macrocode}
-%    \begin{macrocode}
-\begingroup
-  \catcode`\@=11 %
-  \countdef\count@=255 %
-  \def\space{ }%
-  \long\def\@whilenum#1\do #2{%
-    \ifnum #1\relax
-      #2\relax
-      \@iwhilenum{#1\relax#2\relax}%
-    \fi
-  }%
-  \long\def\@iwhilenum#1{%
-    \ifnum #1%
-      \expandafter\@iwhilenum
-    \else
-      \expandafter\ltx at gobble
-    \fi
-    {#1}%
-  }%
-  \gdef\AllBytes{}%
-  \count@=0 %
-  \catcode0=12 %
-  \@whilenum\count@<256 \do{%
-    \lccode0=\count@
-    \ifnum\count@=32 %
-      \xdef\AllBytes{\AllBytes\space}%
-    \else
-      \lowercase{%
-        \xdef\AllBytes{\AllBytes^^@}%
-      }%
-    \fi
-    \advance\count@ by 1 %
-  }%
-\endgroup
-\def\AllBytesHex{%
-  000102030405060708090A0B0C0D0E0F%
-  101112131415161718191A1B1C1D1E1F%
-  202122232425262728292A2B2C2D2E2F%
-  303132333435363738393A3B3C3D3E3F%
-  404142434445464748494A4B4C4D4E4F%
-  505152535455565758595A5B5C5D5E5F%
-  606162636465666768696A6B6C6D6E6F%
-  707172737475767778797A7B7C7D7E7F%
-  808182838485868788898A8B8C8D8E8F%
-  909192939495969798999A9B9C9D9E9F%
-  A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
-  B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
-  C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
-  D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
-  E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
-  F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\ltx at onelevel@sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
-  \expandafter\def\expandafter\AllBytesHexLC
-      \expandafter{\AllBytesHex}%
-}
-\begingroup
-  \catcode`\#=12 %
-  \xdef\AllBytesName{%
-    #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
-    #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
-    #20!"#23$#25&'#28#29*+,-.#2F%
-    0123456789:;#3C=#3E?%
-    @ABCDEFGHIJKLMNO%
-    PQRSTUVWXYZ#5B\ltx at backslashchar#5D^_%
-    `abcdefghijklmno%
-    pqrstuvwxyz#7B|#7D\string~#7F%
-    #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
-    #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
-    #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
-    #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
-    #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
-    #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
-    #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
-    #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
-  }%
-\endgroup
-\ltx at onelevel@sanitize\AllBytesName
-\edef\AllBytesFromName{\expandafter\ltx at gobble\AllBytes}
-
-\begingroup
-  \def\|{|}%
-  \edef\%{\ltx at percentchar}%
-  \catcode`\|=0 %
-  \catcode`\#=12 %
-  \catcode`\~=12 %
-  \catcode`\\=12 %
-  |xdef|AllBytesString{%
-    \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
-    \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
-    \040!"#$|%&'\(\)*+,-./%
-    0123456789:;<=>?%
-    @ABCDEFGHIJKLMNO%
-    PQRSTUVWXYZ[\\]^_%
-    `abcdefghijklmno%
-    pqrstuvwxyz{||}~\177%
-    \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
-    \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
-    \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
-    \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
-    \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
-    \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
-    \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
-    \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
-  }%
-|endgroup
-\ltx at onelevel@sanitize\AllBytesString
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\msg#{\immediate\write16}
-\def\Test#1#2#3{%
-  \begingroup
-    #1\TestResult{#2}%
-    \ifx\TestResult#3%
-    \else
-      \newlinechar=10 %
-      \msg{Expect:^^J#3}%
-      \msg{Result:^^J\TestResult}%
-      \errmessage{\string#2 -\string#1-> \string#3}%
-    \fi
-  \endgroup
-}
-\Test\EdefEscapeHex\AllBytes\AllBytesHex
-\Test\EdefUnescapeHex\AllBytesHex\AllBytes
-\Test\EdefEscapeName\AllBytes\AllBytesName
-\Test\EdefUnescapeName\AllBytesName\AllBytesFromName
-\Test\EdefEscapeString\AllBytes\AllBytesString
-\Test\EdefUnescapeString\AllBytesString\AllBytes
-%    \end{macrocode}
-%    \begin{macrocode}
-\csname @@end\endcsname\end
-%</test6>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -2087,12 +1334,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pdfescape.sty & tex/generic/oberdiek/pdfescape.sty\\
 %   pdfescape.pdf & doc/latex/oberdiek/pdfescape.pdf\\
-%   test/pdfescape-test1.tex & doc/latex/oberdiek/test/pdfescape-test1.tex\\
-%   test/pdfescape-test2.tex & doc/latex/oberdiek/test/pdfescape-test2.tex\\
-%   test/pdfescape-test3.tex & doc/latex/oberdiek/test/pdfescape-test3.tex\\
-%   test/pdfescape-test4.tex & doc/latex/oberdiek/test/pdfescape-test4.tex\\
-%   test/pdfescape-test5.tex & doc/latex/oberdiek/test/pdfescape-test5.tex\\
-%   test/pdfescape-test6.tex & doc/latex/oberdiek/test/pdfescape-test6.tex\\
 %   pdfescape.dtx & source/latex/oberdiek/pdfescape.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,14 +66,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/pdflscape.sty
 %    TDS:doc/latex/oberdiek/pdflscape.pdf
-%    TDS:doc/latex/oberdiek/test/pdflscape-test1.tex
-%    TDS:doc/latex/oberdiek/test/pdflscape-test2.tex
-%    TDS:doc/latex/oberdiek/test/pdflscape-test3.tex
-%    TDS:doc/latex/oberdiek/test/pdflscape-test4.tex
-%    TDS:doc/latex/oberdiek/test/pdflscape-test5.tex
-%    TDS:doc/latex/oberdiek/test/pdflscape-test6.tex
-%    TDS:doc/latex/oberdiek/test/pdflscape-test6.txt
-%    TDS:doc/latex/oberdiek/test/ExtractRotate.java
 %    TDS:source/latex/oberdiek/pdflscape.dtx
 %
 %<*ignore>
@@ -152,7 +144,7 @@
   \nopreamble
   \nopostamble
 %  \file{pdflscape-test6.txt}{\from{pdflscape.dtx}{result6}}%
-  \file{ExtractRotate.java}{\from{pdflscape.dtx}{ExtractRotate}}%
+%  \file{ExtractRotate.java}{\from{pdflscape.dtx}{ExtractRotate}}%
 %  \usedir{source/latex/oberdiek/catalogue}%
 %  \file{pdflscape.xml}{\from{pdflscape.dtx}{catalogue}}%
 }
@@ -192,21 +184,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdflscape.drv}
 %
@@ -617,216 +594,6 @@
 %</package>
 %    \end{macrocode}
 %
-% \section{Test}
-%
-% \subsection{Driver detection tests}
-%    \begin{macrocode}
-%<*test0>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%</test0>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test1>
-\usepackage{ifpdf}
-\ifpdf
-  \def\ExpectDriver{pdftex}%
-\fi
-\usepackage{ifxetex}%
-\ifxetex
-  \def\ExpectDriver{dvipdfm}%
-\fi
-\usepackage{pdflscape}[2016/05/14]
-%</test1>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test2>
-\def\ExpectDriver{pdftex}
-\usepackage[pdftex]{pdflscape}[2016/05/14]
-%</test2>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test3>
-\def\ExpectDriver{dvipdfm}
-\usepackage[dvipdfmx]{pdflscape}[2016/05/14]
-%</test3>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test4>
-\def\ExpectDriver{dvips}
-\usepackage[dvipsone]{graphics}
-\usepackage{pdflscape}[2016/05/14]
-%</test4>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test0>
-\begin{document}
-\begin{qstest}{driver}{driver}
-  \makeatletter
-  \Expect*{\PLS at driver}*{\ExpectDriver}%
-\end{qstest}
-\end{document}
-%</test0>
-%    \end{macrocode}
-%
-% \subsection{Test for \cs{PLS at CheckAngle}}
-%
-%    \begin{macrocode}
-%<*test5>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\usepackage{pdflscape}[2016/05/14]
-\begin{document}
-\begin{qstest}{checkangle}{checkangle}
-  \makeatletter
-  \def\Result{%
-    \def\ResultString{\the\count@}%
-  }%
-  \def\PackageError#1#2#3{%
-    \def\Result{%
-      \def\ResultString{error}%
-    }%
-  }%
-  \def\Test#1#2{%
-    \begingroup
-      \PLS at CheckAngle{#1}%
-      \Result
-      \Expect*{\ResultString}{#2}%
-    \endgroup
-  }%
-  \Test{0}{0}%
-  \Test{90}{90}%
-  \Test{180}{180}%
-  \Test{270}{270}%
-  \Test{360}{0}%
-  \Test{450}{90}%
-  \Test{540}{180}%
-  \Test{630}{270}%
-  \Test{720}{0}%
-  \Test{3600}{0}%
-  \Test{3690}{90}%
-  \Test{-90}{270}%
-  \Test{-180}{180}%
-  \Test{-270}{-90}%
-  \Test{-360}{0}%
-  \Test{-450}{270}%
-  \Test{540}{180}%
-  \Test{-630}{90}%
-  \Test{-720}{0}%
-  \Test{-3600}{0}%
-  \Test{-3690}{270}%
-  \Test{1}{error}%
-  \Test{-1}{error}%
-  \Test{123}{error}%
-\end{qstest}
-\end{document}
-%</test5>
-%    \end{macrocode}
-%
-% \subsection{Test for rotate}
-%
-%    \begin{macrocode}
-%<*test6>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{pdflscape}[2016/05/14]
-\begin{document}
-\section{Portrait page}
-\begin{landscape}
-\section{Landscape page}
-Foo bar foo bar foo bar foo bar foo bar
-foo bar foo bar foo bar foo bar foo bar.
-\end{landscape}
-\section{Portrait Section}
-Foo bar
-\begin{landscape}
-\section{Again Landscape Section}
-\newpage
-\section{Second Page of Landscape Section}
-\end{landscape}
-\section{Second Last Portrait Page}
-\newpage
-\section{Last Portrait Page}
-\end{document}
-%</test6>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*result6>
-/Page 1 /Rotate 0
-/Page 2 /Rotate 90
-/Page 3 /Rotate 0
-/Page 4 /Rotate 90
-/Page 5 /Rotate 90
-/Page 6 /Rotate 0
-/Page 7 /Rotate 0
-%</result6>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*ExtractRotate>
-/**
- * ExtractRotate.java
- *
- * Copyright (C) 2007 by Heiko Oberdiek
- *
- * Requires: PDFBox (http://www.pdfbox.org/)
- *
- * Syntax: java ExtractRotate <pdffile> <textfile>
- *
- * The <pdffile> is analyzed and for each page its rotation
- * setting is printed in the <textfile>. Example:
- *   /Page 1 /Rotate 0
- *   /Page 2 /Rotate 90
- */
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import org.pdfbox.pdfparser.PDFParser;
-import org.pdfbox.pdmodel.PDDocument;
-import org.pdfbox.pdmodel.PDDocumentCatalog;
-import org.pdfbox.pdmodel.PDPage;
-
-public class ExtractRotate {
-
-    public static void main(String[] args) {
-        try {
-            String infile = args[0];
-            String outfile = args[1];
-            FileWriter out = new FileWriter(outfile);
-            PDFParser parser =
-                    new PDFParser(new FileInputStream(infile));
-            parser.parse();
-            PDDocument document = parser.getPDDocument();
-            PDDocumentCatalog catalog = document.getDocumentCatalog();
-            int i = 0;
-            for (Object page: catalog.getAllPages()) {
-                i++;
-                out.write("/Page " + i + " " + "/Rotate "
-                        + ((PDPage)page).findRotation() + "\n");
-            }
-            document.close();
-            out.close();
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-}
-%</ExtractRotate>
-%    \end{macrocode}
-%
 % \section{Installation}
 %
 % \subsection{Download}
@@ -876,12 +643,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pdflscape.sty & tex/latex/oberdiek/pdflscape.sty\\
 %   pdflscape.pdf & doc/latex/oberdiek/pdflscape.pdf\\
-%   test/pdflscape-test1.tex & doc/latex/oberdiek/test/pdflscape-test1.tex\\
-%   test/pdflscape-test2.tex & doc/latex/oberdiek/test/pdflscape-test2.tex\\
-%   test/pdflscape-test3.tex & doc/latex/oberdiek/test/pdflscape-test3.tex\\
-%   test/pdflscape-test4.tex & doc/latex/oberdiek/test/pdflscape-test4.tex\\
-%   test/pdflscape-test5.tex & doc/latex/oberdiek/test/pdflscape-test5.tex\\
-%   test/pdflscape-test6.tex & doc/latex/oberdiek/test/pdflscape-test6.tex\\
 %   test/pdflscape-test6.txt & doc/latex/oberdiek/test/pdflscape-test6.txt\\
 %   test/ExtractRotate.java & doc/latex/oberdiek/test/ExtractRotate.java\\
 %   pdflscape.dtx & source/latex/oberdiek/pdflscape.dtx\\

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -68,11 +68,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/pdfrender.sty
 %    TDS:doc/latex/oberdiek/pdfrender.pdf
-%    TDS:doc/latex/oberdiek/test/pdfrender-test1.tex
-%    TDS:doc/latex/oberdiek/test/pdfrender-test2.tex
-%    TDS:doc/latex/oberdiek/test/pdfrender-test3.tex
-%    TDS:doc/latex/oberdiek/test/pdfrender-test4.tex
-%    TDS:doc/latex/oberdiek/test/pdfrender-test5.tex
 %    TDS:source/latex/oberdiek/pdfrender.dtx
 %
 %<*ignore>
@@ -149,10 +144,6 @@
 %  \file{pdfrender-test3.tex}{\from{pdfrender.dtx}{test3}}%
 %  \file{pdfrender-test4.tex}{\from{pdfrender.dtx}{test4}}%
 %  \file{pdfrender-test5.tex}{\from{pdfrender.dtx}{test5}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pdfrender.xml}{\from{pdfrender.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -191,21 +182,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pdfrender.drv}
 %
@@ -1383,287 +1359,8 @@
 \PdfRender at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input pdfrender.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Simple test file}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test2.tex}[2018/11/01]
-\documentclass{article}
-\usepackage{color}
-\usepackage{pdfrender}[2018/11/01]
-\begin{document}
-Hello World
-\newpage
-Start
-\textpdfrender{%
-  TextRenderingMode=1,%
-  LineWidth=.1,%
-  LineCapStyle=2,%
-  LineJoinStyle=1,%
-  MiterLimit=1.2,%
-  LineDashPattern=[2 2]0,%
-  RenderingIntent=Saturation,%
-}{Hello\newpage World}
-Stop
-\par
-\newlength{\LineWidth}
-\setlength{\LineWidth}{.5pt}
-Start
-\textpdfrender{%
-  FillColor=yellow,%
-  StrokeColor=[cmyk]{1,.5,0,0},%
-  TextRenderingMode=FillStroke,%
-  LineWidth=.5\LineWidth,%
-  LineCapStyle=Round,%
-  LineJoinStyle=Bevel,%
-}{Out-\par\newpage line}
-Stop
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \subsection{Further tests}
-%
-%    Robustness and bookmarks.
-%    \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test3.tex}[2018/11/01]
-\documentclass{article}
-\usepackage{pdfrender}[2018/11/01]
-\usepackage{hyperref}
-\usepackage{bookmark}
-\begin{document}
-\tableofcontents
-\section{%
-  \textpdfrender{%
-    TextRenderingMode=1,%
-    LineCapStyle=2,%
-    LineJoinStyle=1,%
-    MiterLimit=1.2,%
-    LineDashPattern=[2 2]0,%
-    RenderingIntent=Saturation,%
-  }{Hello World}%
-}
-\end{document}
-%</test3>
-%    \end{macrocode}
-%
-%    Color algorithm if \cs{pdfmatch} is not available.
-%    \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test4.tex}[2018/11/01]
-\documentclass[12pt]{article}
-\usepackage{pdfrender}[2018/11/01]
-\usepackage{color}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-\newcommand*{\CheckColor}[1]{%
-  \Expect{#1}*{\current at color}%
-}
-\makeatother
-\begin{document}
-  \begin{qstest}{color}{color}%
-    \CheckColor{0 g 0 G}%
-    \Huge\bfseries
-    \noindent
-    \textpdfrender{%
-      TextRenderingMode=2,%
-      LineWidth=.5,%
-      FillColor=yellow,%
-      StrokeColor=blue,%
-    }{%
-      \CheckColor{0 0 1 0 k 0 0 1 RG}%
-      Blue(Yellow)\\%
-      \textpdfrender{%
-        FillColor=green,%
-      }{%
-        \CheckColor{0 1 0 rg 0 0 1 RG}%
-        Blue(Green)%
-      }\\%
-      \CheckColor{0 0 1 0 k 0 0 1 RG}%
-      Blue(Yellow)\\%
-      \textpdfrender{%
-        StrokeColor=red,%
-      }{%
-        \CheckColor{0 0 1 0 k 1 0 0 RG}%
-        Red(Yellow)%
-      }\\%
-      \CheckColor{0 0 1 0 k 0 0 1 RG}%
-      Blue(Yellow) %
-    }%
-  \end{qstest}%
-  \begin{qstest}{colorlast}{colorlast}%
-    \makeatletter
-    \def\Test#1#2#3{%
-      \begingroup
-        \def\current at color{#1}%
-        \textpdfrender{#2}{%
-          \CheckColor{#3}%
-        }%
-      \endgroup
-    }%
-    \Test{1 g 0 0 1 RG 0 0 1 0 k 0.5 G}%
-         {StrokeColor=green}%
-         {0 0 1 0 k 0 1 0 RG}%
-    \Test{1 g 0 0 1 RG 0 0 1 0 k 0.5 G}%
-         {FillColor=red}%
-         {1 0 0 rg 0.5 G}%
-  \end{qstest}%
-\end{document}
-%</test4>
-%    \end{macrocode}
-%
-% \subsection{Compatibility with \plainTeX}
-%
-%    \begin{macrocode}
-%<*test5>
-\input luatex85.sty
-\pdfoutput=1 %
-\hsize=6.5in
-\vsize=8.9in
-\pdfpagewidth=\hsize
-\pdfpageheight=\vsize
-\parfillskip=0pt plus 1fil\relax
-\input pdfrender.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\let\OrgMakeFootLine\makefootline
-\def\makefootline{%
-  \begingroup\normalcolor\OrgMakeFootLine\endgroup
-}
-\font\f=ec-lmr10 scaled 3000\relax
-\f
-Before %
-\textpdfrender{%
-  TextRenderingMode=1,%
-  LineWidth=.1,%
-}{Hello\par\vfill\penalty-10000 World} %
-After %
-\par
-\vfill
-\penalty-10000 %
-\csname @@end\endcsname\end
-%</test5>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1711,11 +1408,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   pdfrender.sty & tex/generic/oberdiek/pdfrender.sty\\
 %   pdfrender.pdf & doc/latex/oberdiek/pdfrender.pdf\\
-%   test/pdfrender-test1.tex & doc/latex/oberdiek/test/pdfrender-test1.tex\\
-%   test/pdfrender-test2.tex & doc/latex/oberdiek/test/pdfrender-test2.tex\\
-%   test/pdfrender-test3.tex & doc/latex/oberdiek/test/pdfrender-test3.tex\\
-%   test/pdfrender-test4.tex & doc/latex/oberdiek/test/pdfrender-test4.tex\\
-%   test/pdfrender-test5.tex & doc/latex/oberdiek/test/pdfrender-test5.tex\\
 %   pdfrender.dtx & source/latex/oberdiek/pdfrender.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -131,10 +131,6 @@
   \file{picture.sty}{\from{picture.dtx}{package}}%
   \usedir{doc/latex/oberdiek}%
   \file{picture-example.tex}{\from{picture.dtx}{example}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{picture.xml}{\from{picture.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +167,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{picture.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -64,7 +64,6 @@
 %    TDS:tex/latex/oberdiek/pmboxdraw.sty
 %    TDS:tex/latex/oberdiek/pmboxdrawenc.dfu
 %    TDS:doc/latex/oberdiek/pmboxdraw.pdf
-%    TDS:doc/latex/oberdiek/test/pmboxdraw-test1.tex
 %    TDS:source/latex/oberdiek/pmboxdraw.dtx
 %
 %<*ignore>
@@ -133,10 +132,6 @@
   \file{pmboxdrawenc.dfu}{\from{pmboxdraw.dtx}{utf8}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{pmboxdraw-test1.tex}{\from{pmboxdraw.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{pmboxdraw.xml}{\from{pmboxdraw.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -181,21 +176,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{pmboxdraw.drv}
 %
@@ -5266,124 +5246,8 @@
 %    \begin{macrocode}
 %</utf8>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{pmboxdraw}[2019/02/28]}
-%</test1>
-%    \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input pmboxdraw.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -5432,7 +5296,6 @@
 %   pmboxdraw.sty & tex/latex/oberdiek/pmboxdraw.sty\\
 %   pmboxdrawenc.dfu & tex/latex/oberdiek/pmboxdrawenc.dfu\\
 %   pmboxdraw.pdf & doc/latex/oberdiek/pmboxdraw.pdf\\
-%   test/pmboxdraw-test1.tex & doc/latex/oberdiek/test/pmboxdraw-test1.tex\\
 %   pmboxdraw.dtx & source/latex/oberdiek/pmboxdraw.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,8 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/protecteddef.sty
 %    TDS:doc/latex/oberdiek/protecteddef.pdf
-%    TDS:doc/latex/oberdiek/test/protecteddef-test1.tex
-%    TDS:doc/latex/oberdiek/test/protecteddef-test2.tex
 %    TDS:source/latex/oberdiek/protecteddef.dtx
 %
 %<*ignore>
@@ -139,10 +137,6 @@
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{protecteddef-test1.tex}{\from{protecteddef.dtx}{test1}}%
 %  \file{protecteddef-test2.tex}{\from{protecteddef.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{protecteddef.xml}{\from{protecteddef.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -179,21 +173,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{protecteddef.drv}
 %
@@ -553,276 +532,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input protecteddef.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Test without \hologo{LaTeX} and \cs{protected}}
-%
-%    \begin{macrocode}
-%<*test2>
-\errorcontextlines=10000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input protecteddef.sty\relax
-  \catcode`\{=1 %
-  \catcode`\}=2 %
-  \catcode`\#=6 %
-\else
-  \RequirePackage{protecteddef}[2016/05/16]%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
-  \let\pdef\def
-\else
-  \def\pdef{\protected\def}%
-\fi
-\def\msg#{\immediate\write16}
-\countdef\errcount=2 %
-\long\def\BeginCheck#1\ProtectedDef#2\EndCheck{%
-  \begingroup
-    \toks0={\ProtectedDef#2}%
-    \msg{<<\the\toks0>>}%
-  \endgroup
-  \setbox0=\hbox{%
-    #1%
-    \ProtectedDef#2%
-    \check\foo
-  }%
-  \ifdim\wd0=0pt\relax
-  \else
-    \errmessage{[Definition] Unwanted spaces?!}%
-  \fi
-  \setbox0=\hbox{%
-    \def\fooinitial{XYZ}%
-    \let\foo\fooinitial
-    \errcount=0 %
-    \expandafter\def\csname @PackageError\endcsname##1##2##3{%
-      \advance\errcount by 1 %
-    }%
-    \expandafter\def\csname @notdefinable\endcsname{%
-      \advance\errcount by 1 %
-    }%
-    \ProtectedDef#2%
-    \ifnum\errcount=1 %
-    \else
-      \errmessage{1 error expected, but found: \the\errcount}%
-    \fi
-    \ifx\foo\fooinitial
-    \else
-      \def\space{ }%
-      \errmessage{\string\foo\space is overwritten}%
-    \fi
-  }%
-  \ifdim\wd0=0pt\relax
-  \else
-    \errmessage{[Error] Unwanted spaces?!}%
-  \fi
-}
-\chardef\DeclareVersion=0 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname DeclareRobustCommand\endcsname\relax
-  \else
-    \chardef\DeclareVersion=1 %
-  \fi
-\fi
-\ifnum\DeclareVersion=0 %
-  \def\check#1{%
-    \ifx\cmp#1%
-      \msg{* Test passed.}%
-    \else
-      \msg{}%
-      \msg{[\meaning#1]}%
-      \msg{[\meaning\cmp]}%
-      \errmessage{Test failed!}%
-    \fi
-  }%
-\else
-  \def\check#1{%
-    \begingroup
-      \escapechar=-1 %
-    \edef\x{\endgroup
-      \def\noexpand\cs/{\string#1}%
-    }\x
-    \edef\CMP{%
-      \noexpand\protect
-      \expandafter\noexpand\csname\cs/ \endcsname
-    }%
-    \ifx\CMP#1%
-      \expandafter\ifx\csname\cs/ \endcsname\cmp
-        \msg{Test passed.}%
-      \else
-        \msg{}%
-        \msg{[\expandafter\meaning\csname\cs/ \endcsname]}%
-        \msg{[\meaning\cmp]}%
-        \errmessage{Test failed!}%
-      \fi
-    \else
-      \msg{}%
-      \msg{[\meaning#1]}%
-      \msg{[\meaning\CMP]}%
-      \errmessage{Test failed!}%
-    \fi
-  }%
-\fi
-
-\tracingmacros=1
-
-\BeginCheck
-  \pdef\cmp{}%
-  \ProtectedDef*\foo{}%
-\EndCheck
-
-\BeginCheck
-  \pdef\cmp{}%
-  \ProtectedDef*\foo[0]{}%
-\EndCheck
-
-\BeginCheck
-  \pdef\cmp#1{<#1>}%
-  \ProtectedDef*\foo[1]{<#1>}%
-\EndCheck
-
-\BeginCheck
-  \pdef\cmp(#1){<#1>}%
-  \ProtectedDef*\foo(#1){<#1>}%
-\EndCheck
-
-\BeginCheck
-  \long\pdef\cmp{}%
-  \ProtectedDef\foo{}%
-\EndCheck
-
-\BeginCheck
-  \long\pdef\cmp{}%
-  \ProtectedDef\foo[0]{}%
-\EndCheck
-
-\BeginCheck
-  \long\pdef\cmp#1{<#1>}%
-  \ProtectedDef\foo[1]{<#1>}%
-\EndCheck
-
-\BeginCheck
-  \long\pdef\cmp(#1){<#1>}%
-  \ProtectedDef\foo(#1){<#1>}%
-\EndCheck
-
-\csname @@end\endcsname\end
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -870,8 +581,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   protecteddef.sty & tex/generic/oberdiek/protecteddef.sty\\
 %   protecteddef.pdf & doc/latex/oberdiek/protecteddef.pdf\\
-%   test/protecteddef-test1.tex & doc/latex/oberdiek/test/protecteddef-test1.tex\\
-%   test/protecteddef-test2.tex & doc/latex/oberdiek/test/protecteddef-test2.tex\\
 %   protecteddef.dtx & source/latex/oberdiek/protecteddef.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -64,11 +64,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/refcount.sty
 %    TDS:doc/latex/oberdiek/refcount.pdf
-%    TDS:doc/latex/oberdiek/test/refcount-test1.tex
-%    TDS:doc/latex/oberdiek/test/refcount-test2.tex
-%    TDS:doc/latex/oberdiek/test/refcount-test3.tex
-%    TDS:doc/latex/oberdiek/test/refcount-test4.tex
-%    TDS:doc/latex/oberdiek/test/refcount-test5.tex
 %    TDS:source/latex/oberdiek/refcount.dtx
 %
 %<*ignore>
@@ -141,10 +136,6 @@
 %  \file{refcount-test3.tex}{\from{refcount.dtx}{test3}}%
 %  \file{refcount-test4.tex}{\from{refcount.dtx}{test3,test4}}%
 %  \file{refcount-test5.tex}{\from{refcount.dtx}{test5}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{refcount.xml}{\from{refcount.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -181,21 +172,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{refcount.drv}
 %
@@ -899,417 +875,8 @@
 \rc at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input refcount.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-%    \begin{macrocode}
-%<*test2>
-\errorcontextlines=10000 %
-\showboxbreadth=10000 %
-\showboxdepth=10000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input refcount.sty\relax
-\else
-  \RequirePackage{refcount}[2016/05/16]%
-\fi
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @onelevel at sanitize\endcsname\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname detokenize\endcsname\relax
-    \def\strip at prefix#1->{}%
-    \def\@onelevel at sanitize#1{%
-      \edef#1{%
-        \expandafter\strip at prefix\meaning#1%
-      }%
-    }%
-  \else
-    \def\@onelevel at sanitize#1{%
-      \edef#1{%
-        \detokenize\expandafter{#1}%
-      }%
-    }%
-  \fi
-\fi
-\def\msg#{\immediate\write16}
-\def\empty{}
-\def\space{ }
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\r at foo{{\empty 1}{\empty 2}}
-\long\def\test#1#2{%
-  \begingroup
-    \setbox0=\hbox{%
-      \def\TestTask{#1}%
-      \@onelevel at sanitize\TestTask
-      \msg{* \TestTask}%
-      \expandafter\expandafter\expandafter\def
-      \expandafter\expandafter\expandafter\TestResult
-      \expandafter\expandafter\expandafter{%
-        #1%
-      }%
-      \def\TestExpected{#2}%
-      \ifx\TestResult\TestExpected
-        \msg{ \space ok.}%
-      \else
-        \@onelevel at sanitize\TestResult
-        \@onelevel at sanitize\TestExpected
-        \msg{ \space Result: \space\space[\TestResult]}%
-        \msg{ \space Expected: [\TestExpected]}%
-        \errmessage{Test failed!}%
-      \fi
-    }%
-    \ifdim\wd0=0pt %
-    \else
-      \showbox0 %
-    \fi
-  \endgroup
-}
-\test{\getrefnumber{foo}}{\empty 1}
-\test{\getpagerefnumber{foo}}{\empty 2}
-\test{\getrefbykeydefault{foo}{}{\empty default}}{\empty 1}
-\test{\getrefbykeydefault{foo}{page}{\empty default}}{\empty 2}
-\test{\getrefbykeydefault{foo}{name}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{anchor}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{url}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{title}{\empty default}}{\empty default}
-\msg{}
-\def\r at foo{{}{}{}{}{}{}{}{}{}{}}
-\def\Test#1#2\\{%
-  \test{#1{foo}#2}{}%
-}
-\def\TestGroup{%
-  \Test\getrefnumber\\%
-  \Test\getpagerefnumber\\%
-  \Test\getrefbykeydefault{}{}\\%
-  \Test\getrefbykeydefault{page}{}\\%
-  \Test\getrefbykeydefault{anchor}{}\\%
-  \Test\getrefbykeydefault{name}{}\\%
-  \Test\getrefbykeydefault{url}{}\\%
-}
-\TestGroup
-\Test\getrefbykeydefault{title}{}\\%
-\msg{}
-\def\r at foo{\par\par\par\par\par\par\par\par}
-\long\def\Test#1#2\\{%
-  \test{#1{foo}#2}{\par}%
-}
-\TestGroup
-\test{\getrefbykeydefault{title}{}{}}{}
-\msg{}
-\def\r at foo{{ }{ }{ }{ }{ }}
-\def\Test#1#2\\{%
-  \test{#1{foo}#2}{ }%
-}
-\TestGroup
-\msg{}
-\long\def\TestDefault#1{%
-  \begingroup
-    \setrefcountdefault{#1}%
-    \test{\getrefnumber{foo}}{#1}%
-    \test{\getpagerefnumber{foo}}{#1}%
-  \endgroup
-}
-\def\TestDefaultX{%
-  \TestDefault{}%
-  \TestDefault{\par}%
-  \TestDefault{ }%
-  \TestDefault{\space}%
-}
-\let\r at foo\@undefined
-\TestDefaultX
-\let\r at foo\relax
-\TestDefaultX
-\def\r at foo{}
-\TestDefaultX
-%    \end{macrocode}
-%    \begin{macrocode}
-\msg{}
-\long\def\Test#1#2#3#4{%
-  \begingroup
-    \def\TestTask{#1}%
-    \@onelevel at sanitize\TestTask
-    \msg{* [\TestTask]}%
-    \edef\TestResultA{\IfRefUndefinedExpandable{#1}{#2}{#3}}%
-    \IfRefUndefinedBabel{#1}{%
-      \def\TestResultB{#2}%
-    }{%
-      \def\TestResultB{#3}%
-    }%
-    \def\TestExpected{#4}%
-    \ifx\TestResultA\TestExpected
-      \msg{ \space ok.}%
-    \else
-      \begingroup
-        \@onelevel at sanitize\TestResultA
-        \@onelevel at sanitize\TestExpected
-        \msg{ \space Result: \space\space[\TestResultA]}%
-        \msg{ \space Expected: [\TestExpected]}%
-        \errmessage{Test failed!}%
-      \endgroup
-    \fi
-    \ifx\TestResultB\TestExpected
-      \msg{ \space ok.}%
-    \else
-      \begingroup
-        \@onelevel at sanitize\TestResultB
-        \@onelevel at sanitize\TestExpected
-        \msg{ \space Result: \space\space[\TestResultB]}%
-        \msg{ \space Expected: [\TestExpected]}%
-        \errmessage{Test failed!}%
-      \endgroup
-    \fi
-  \endgroup
-}
-\begingroup
-  \def\r at foo{{}{}}%
-  \let\r at bar\@undefined
-  \let\r at xyz\relax
-  \Test{foo}{true}{false}{false}%
-  \Test{bar}{true}{false}{true}%
-  \Test{xyz}{true}{false}{true}%
-\endgroup
-%    \end{macrocode}
-%    \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-%    \end{macrocode}
-% \subsection{Test with package \xpackage{titleref}}
-%
-%    \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{refcount}[2016/05/16]
-%<test4>\usepackage{nameref}
-\usepackage{titleref}
-\begin{document}
-\section{Hello World}
-\label{sec:hello}
-\section{\hbox{xy}}
-\label{sec:foo}
-%
-\makeatletter
-\@ifundefined{r at sec:hello}{%
-  \typeout{==> Compile twice!}%
-}{%
-  \def\test#1#2{%
-    \begingroup
-      \def\TestTask{#1}%
-      \@onelevel at sanitize\TestTask
-      \typeout{* \TestTask}%
-      \expandafter\expandafter\expandafter\def
-      \expandafter\expandafter\expandafter\TestResult
-      \expandafter\expandafter\expandafter{%
-        #1%
-      }%
-      \def\TestExpected{#2}%
-      \ifx\TestResult\TestExpected
-        \typeout{ \space ok.}%
-      \else
-        \@onelevel at sanitize\TestResult
-        \@onelevel at sanitize\TestExpected
-        \typeout{ \space Result: \space\space[\TestResult]}%
-        \typeout{ \space Expected: [\TestExpected]}%
-        \errmessage{Test failed!}%
-      \fi
-    \endgroup
-  }%
-  \test{\getrefbykeydefault{sec:hello}{title}{}}{Hello World}%
-  \test{\getrefbykeydefault{sec:foo}{title}{}}{\hbox{xy}}%
-  \begingroup
-    \def\hbox#1{[#1]}% hash-ok
-    \test{\getrefbykeydefault{sec:foo}{title}{}}{\hbox{xy}}%
-  \endgroup
-}
-\makeatother
-%    \end{macrocode}
-%    \begin{macrocode}
-\end{document}
-%</test3>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*test5>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{book}
-\usepackage{refcount}[2016/05/16]
-\usepackage{zref-runs}
-\newcounter{test}
-\begin{document}
-\ifnum\zruns>1 %
-  \makeatletter
-  \def\Test#1#2#3{%
-    \begingroup
-      \setcounter{test}{10}%
-      \sbox0{%
-        #1{test}{#2}%
-        \ifnum#3=\value{test}%
-        \else
-          \PackageError{test}{\string#1{#2} <> #3 (\the\value{test})}%
-        \fi
-      }%
-      \ifdim\wd0=0pt %
-      \else
-        \PackageError{test}{Non-empty box}\@ehc
-      \fi
-    \endgroup
-  }%
-  \makeatother
-  \Test\setcounterpageref{ch:two}{1}%
-  \Test\setcounterpageref{ch:three}{3}%
-  \Test\setcounterpageref{ch:four}{5}%
-  \Test\setcounterpageref{ch:five}{7}%
-  \Test\setcounterpageref{ch:six}{9}%
-  \Test\setcounterpageref{ch:seven}{13}%
-  \Test\addtocounterpageref{ch:two}{11}%
-  \Test\addtocounterpageref{ch:three}{13}%
-  \Test\addtocounterpageref{ch:four}{15}%
-  \Test\addtocounterpageref{ch:five}{17}%
-  \Test\addtocounterpageref{ch:six}{19}%
-  \Test\addtocounterpageref{ch:seven}{23}%
-  \Test\setcounterref{ch:two}{1}%
-  \Test\setcounterref{ch:three}{2}%
-  \Test\setcounterref{ch:four}{11}%
-  \Test\addtocounterref{ch:two}{11}%
-  \Test\addtocounterref{ch:three}{12}%
-  \Test\addtocounterref{ch:four}{21}%
-\fi
-\frontmatter
-\chapter{Chapter one}\label{ch:one}
-\cleardoublepage
-\mainmatter
-\chapter{Chapter two}\label{ch:two}
-\cleardoublepage
-\chapter{Chapter three}\label{ch:three}
-\cleardoublepage
-\setcounter{chapter}{10}
-\chapter{Chapter four}\label{ch:four}
-\cleardoublepage
-\appendix
-\chapter{Chapter five}\label{ch:five}
-\cleardoublepage
-\chapter{Chapter six}\label{ch:six}
-\cleardoublepage
-\null
-\cleardoublepage
-\chapter{Chapter seven}\label{ch:seven}
-\end{document}
-%</test5>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1357,11 +924,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   refcount.sty & tex/latex/oberdiek/refcount.sty\\
 %   refcount.pdf & doc/latex/oberdiek/refcount.pdf\\
-%   test/refcount-test1.tex & doc/latex/oberdiek/test/refcount-test1.tex\\
-%   test/refcount-test2.tex & doc/latex/oberdiek/test/refcount-test2.tex\\
-%   test/refcount-test3.tex & doc/latex/oberdiek/test/refcount-test3.tex\\
-%   test/refcount-test4.tex & doc/latex/oberdiek/test/refcount-test4.tex\\
-%   test/refcount-test5.tex & doc/latex/oberdiek/test/refcount-test5.tex\\
 %   refcount.dtx & source/latex/oberdiek/refcount.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -65,7 +65,6 @@
 %    TDS:tex/latex/oberdiek/rerunfilecheck.sty
 %    TDS:doc/latex/oberdiek/rerunfilecheck.pdf
 %    TDS:doc/latex/oberdiek/rerunfilecheck-example.cfg
-%    TDS:doc/latex/oberdiek/test/rerunfilecheck-test1.tex
 %    TDS:source/latex/oberdiek/rerunfilecheck.dtx
 %
 %<*ignore>
@@ -176,21 +175,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{rerunfilecheck.drv}
 %
@@ -724,124 +708,8 @@
 \ReFiCh at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{rerunfilecheck}[2016/05/16]}
-%</test1>
-%    \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input rerunfilecheck.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -890,7 +758,6 @@
 %   rerunfilecheck.sty & tex/latex/oberdiek/rerunfilecheck.sty\\
 %   rerunfilecheck.pdf & doc/latex/oberdiek/rerunfilecheck.pdf\\
 %   rerunfilecheck-example.cfg & doc/latex/oberdiek/rerunfilecheck-example.cfg\\
-%   test/rerunfilecheck-test1.tex & doc/latex/oberdiek/test/rerunfilecheck-test1.tex\\
 %   rerunfilecheck.dtx & source/latex/oberdiek/rerunfilecheck.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -63,7 +63,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/resizegather.sty
 %    TDS:doc/latex/oberdiek/resizegather.pdf
-%    TDS:doc/latex/oberdiek/test/resizegather-test1.tex
 %    TDS:source/latex/oberdiek/resizegather.dtx
 %
 %<*ignore>
@@ -131,10 +130,6 @@
   \file{resizegather.sty}{\from{resizegather.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{resizegather-test1.tex}{\from{resizegather.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{resizegather.xml}{\from{resizegather.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -178,21 +173,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{resizegather.drv}
 %
@@ -681,119 +661,8 @@
 \ResizeGather at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input resizegather.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -841,7 +710,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   resizegather.sty & tex/latex/oberdiek/resizegather.sty\\
 %   resizegather.pdf & doc/latex/oberdiek/resizegather.pdf\\
-%   test/resizegather-test1.tex & doc/latex/oberdiek/test/resizegather-test1.tex\\
 %   resizegather.dtx & source/latex/oberdiek/resizegather.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,8 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/rotchiffre.sty
 %    TDS:doc/latex/oberdiek/rotchiffre.pdf
-%    TDS:doc/latex/oberdiek/test/rotchiffre-test1.tex
-%    TDS:doc/latex/oberdiek/test/rotchiffre-test2.tex
 %    TDS:source/latex/oberdiek/rotchiffre.dtx
 %
 %<*ignore>
@@ -139,10 +137,6 @@
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{rotchiffre-test1.tex}{\from{rotchiffre.dtx}{test1}}%
 %  \file{rotchiffre-test2.tex}{\from{rotchiffre.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{rotchiffre.xml}{\from{rotchiffre.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -181,21 +175,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{rotchiffre.drv}
 %
@@ -719,413 +698,8 @@
 \RotCh at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input rotchiffre.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-%    \begin{macrocode}
-%<*test2>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\^=7 %
-\font\rmfont=ec-lmtt10\relax
-\rmfont
-\showboxbreadth=10000 %
-\showboxdepth=10000 %
-\errorcontextlines=10000
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input rotchiffre.sty\relax
-\else
-  \RequirePackage{rotchiffre}[2016/05/16]%
-  \RequirePackage{ifluatex}[2010/03/01]%
-  \RequirePackage{ifxetex}[2010/09/12]%
-\fi
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @onelevel at sanitize\endcsname\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname detokenize\endcsname\relax
-    \def\strip at prefix#1->{}%
-    \def\@onelevel at sanitize#1{%
-      \edef#1{%
-        \expandafter\strip at prefix\meaning#1%
-      }%
-    }%
-  \else
-    \def\@onelevel at sanitize#1{%
-      \edef#1{%
-        \detokenize\expandafter{#1}%
-      }%
-    }%
-  \fi
-\fi
-\def\msg#{\immediate\write16}
-\def\empty{}
-\begingroup
-  \def\x#1{%
-    \def\space{#1}%
-    \def\spacesII{#1#1}%
-    \def\spacesIII{#1#1#1}%
-    \def\spacesIV{#1#1#1#1}%
-  }%
-\expandafter\endgroup\x{ }
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\PrintStr#1#2{%
-  \begingroup
-    \@onelevel at sanitize#2%
-    \msg{#1: [#2]}% hash-ok
-  \endgroup
-}
-\def\CheckResult{%
-  \PrintStr{Result}\StrResult
-  \ifx\StrExpect\StrResult
-    \msg{==> Ok}%
-  \else
-    \begingroup
-    \edef\x{\endgroup
-      \errmessage{Test failed (\chiffre)!}%
-    }\x
-  \fi
-}
-\long\def\test#1#2{%
-  \msg{}%
-  \begingroup
-    \setbox0=\hbox{%
-      \edef\StrInput{#1}%
-      \@onelevel at sanitize\StrInput
-      \PrintStr{ Input}\StrInput
-      \edef\StrExpect{#2}%
-      \@onelevel at sanitize\StrExpect
-      \PrintStr{Expect}\StrExpect
-      \action{#1}%
-      \CheckResult
-    }%
-    \ifdim\wd0=0pt %
-    \else
-      \showbox0 %
-    \fi
-  \endgroup
-}
-\def\cmd#1{%
-  \msg{* CMD: ROT#1}%
-  \def\chiffre{ROT#1}%
-  \def\action{\EdefRot{#1}\StrResult}%
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\TestIgnore#1{%
-  \test{#1}{#1}%
-}
-\begingroup
-  \lccode`\P=`\%%
-  \lccode`\B=`\\%
-  \lccode`\H=`\#%
-\lowercase{\endgroup
-  \def\PercentChar{P}%
-  \def\BackslashChar{B}%
-  \def\HashChar{H}%
-}
-\def\TestI{%
-  \TestIgnore{%
-    \space!"\HashChar$\PercentChar&'()*+,-./%
-    :;<=>?@%
-    [\BackslashChar]^_`%
-    \string{|\string}\string~%
-  }%
-}
-\begingroup
-  \catcode0=12 %
-  \lccode`A=1 %
-  \lccode`B=2 %
-  \lccode`C=3 %
-  \lccode`D=4 %
-  \lccode`E=5 %
-  \lccode`F=6 %
-  \lccode`G=7 %
-  \lccode`H=8 %
-  \lccode`I=9 %
-  \lccode`J=10 %
-  \lccode`K=11 %
-  \lccode`L=12 %
-  \lccode`M=13 %
-  \lccode`N=14 %
-  \lccode`O=15 %
-  \lccode`P=16 %
-  \lccode`Q=17 %
-  \lccode`R=18 %
-  \lccode`S=19 %
-  \lccode`T=20 %
-  \lccode`U=21 %
-  \lccode`V=22 %
-  \lccode`W=23 %
-  \lccode`X=24 %
-  \lccode`Y=25 %
-  \lccode`Z=26 %
-  \lccode`a=27 %
-  \lccode`b=28 %
-  \lccode`c=29 %
-  \lccode`d=30 %
-  \lccode`e=31 %
-  \lccode`f=127 %
-  \lccode`g=128 %
-  \lccode`h=129 %
-  \lccode`y=254 %
-  \lccode`z=255 %
-\lowercase{\endgroup
-  \def\TestC{%
-    \TestIgnore{%
-      ^^@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhyz%
-    }%
-  }%
-  \def\TestZ{%
-    \TestIgnore{^^@}%
-  }%
-}
-%    \end{macrocode}
-%
-% \subsubsection{ROT13}
-%
-%    \begin{macrocode}
-\cmd{13}
-\test{%
-  0123456789%
-  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
-  abcdefghijklmnopqrstuvwxyz%
-}{%
-  0123456789%
-  NOPQRSTUVWXYZABCDEFGHIJKLM%
-  nopqrstuvwxyzabcdefghijklm%
-}
-\TestI
-\TestC
-\test{}{}
-\test{A}{N}
-\test{N}{A}
-\test{ }{ }
-\test{0a}{0n}
-\test{\spacesIV}{\spacesIV}
-\test{{}}{{}}
-\test{\par}{\noexpand\cne}
-%    \end{macrocode}
-%
-% \subsubsection{ROT5}
-%
-%    \begin{macrocode}
-\cmd{5}
-\test{%
-  0123456789%
-  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
-  abcdefghijklmnopqrstuvwxyz%
-}{%
-  5678901234%
-  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
-  abcdefghijklmnopqrstuvwxyz%
-}
-\TestI
-\TestC
-%    \end{macrocode}
-%
-% \subsubsection{ROT18}
-%
-%    \begin{macrocode}
-\cmd{18}
-\test{%
-  ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%
-  abcdefghijklmnopqrstuvwxyz%
-}{%
-  STUVWXYZ0123456789ABCDEFGHIJKLMNOPQR%
-  nopqrstuvwxyzabcdefghijklm%
-}
-\TestI
-\TestC
-%    \end{macrocode}
-%
-% \subsubsection{ROT47}
-%
-%    \begin{macrocode}
-\cmd{47}
-\test{%
-  !"\HashChar$\PercentChar&'()*+,-./%
-  0123456789%
-  :;<=>?@%
-  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
-  [\BackslashChar]^_`%
-  abcdefghijklmnopqrstuvwxyz%
-  \string{|\string}\string~%
-}{%
-  PQRSTUVWXYZ%
-  [\BackslashChar]^_`%
-  abcdefghijklmnopqrstuvwxyz%
-  \string{|\string}\string~%
-  !"\HashChar$\PercentChar&'()*+,-./%
-  0123456789%
-  :;<=>?@%
-  ABCDEFGHIJKLMNO%
-}
-\TestZ
-\TestC
-%    \end{macrocode}
-%
-% \subsubsection{Big chars}
-%
-%    \begin{macrocode}
-\chardef\temp=0 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname XeTeXrevision\endcsname\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname RequirePackage\endcsname\relax
-    \input ifluatex.sty\relax
-  \else
-    \RequirePackage{ifluatex}[2010/03/01]%
-  \fi
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname luatexversion\endcsname\relax
-  \else
-    \chardef\temp=1 %
-  \fi
-\else
-  \chardef\temp=1 %
-\fi
-\ifcase\temp
-  \csname @@end\expandafter\endcsname\expandafter\end
-\fi
-%    \end{macrocode}
-%    \begin{macrocode}
-\msg{* Big chars}
-\cmd{5}
-\test{}{}
-\test{ }{ }
-\test{ 0 1 }{ 5 6 }
-\begingroup
-  \lccode`A=300 %
-  \lccode`B=1000 %
-  \lccode`C=10000 %
-\lowercase{\endgroup
-  \TestIgnore{ABC}%
-  \TestIgnore{x A By zC xAy AxB}%
-}%
-%    \end{macrocode}
-%    \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1173,8 +747,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   rotchiffre.sty & tex/generic/oberdiek/rotchiffre.sty\\
 %   rotchiffre.pdf & doc/latex/oberdiek/rotchiffre.pdf\\
-%   test/rotchiffre-test1.tex & doc/latex/oberdiek/test/rotchiffre-test1.tex\\
-%   test/rotchiffre-test2.tex & doc/latex/oberdiek/test/rotchiffre-test2.tex\\
 %   rotchiffre.dtx & source/latex/oberdiek/rotchiffre.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/scrindex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/scrindex.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/scrindex.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -133,10 +133,6 @@
   \usedir{doc/latex/oberdiek}%
   \file{scrindex-example1.tex}{\from{scrindex.dtx}{example1}}%
   \file{scrindex-example2.tex}{\from{scrindex.dtx}{example2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{scrindex.xml}{\from{scrindex.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -174,21 +170,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{scrindex.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -64,11 +64,6 @@
 % Installation:
 %    TDS:tex/latex/oberdiek/selinput.sty
 %    TDS:doc/latex/oberdiek/selinput.pdf
-%    TDS:doc/latex/oberdiek/test/selinput-test1.tex
-%    TDS:doc/latex/oberdiek/test/selinput-test2.tex
-%    TDS:doc/latex/oberdiek/test/selinput-test3.tex
-%    TDS:doc/latex/oberdiek/test/selinput-test4.tex
-%    TDS:doc/latex/oberdiek/test/selinput-test5.tex
 %    TDS:source/latex/oberdiek/selinput.dtx
 %
 %<*ignore>
@@ -141,10 +136,6 @@
 %  \file{selinput-test3.tex}{\from{selinput.dtx}{test,test3}}%
 %  \file{selinput-test4.tex}{\from{selinput.dtx}{test,test4}}%
 %  \file{selinput-test5.tex}{\from{selinput.dtx}{test,test5}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{selinput.xml}{\from{selinput.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -187,21 +178,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{selinput.drv}
 %
@@ -666,124 +642,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-%    \begin{macrocode}
-%<*test>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{textcomp}
-\usepackage{qstest}
-%    \end{macrocode}
-%    \begin{macrocode}
-%<*test1|test2|test3>
-\makeatletter
-\let\BeginDocumentText\@empty
-\def\TestEncoding#1#2{%
-  \SelectInputMappings{#2}%
-  \Expect*{\SIE at Encoding}{#1}%
-  \Expect*{\inputencodingname}{#1}%
-  \g at addto@macro\BeginDocumentText{%
-    \SelectInputMappings{#2}%
-    \Expect*{\SIE at Encoding}{#1}%
-    \textbf{\SIE at Encoding:} %
-    \kvsetkeys{test}{#2}\par
-  }%
-}
-\def\TestKey#1#2{%
-  \define at key{test}{#1}{%
-    \sbox0{##1}%
-    \sbox2{#2}%
-    \Expect*{wd:\the\wd0, ht:\the\ht0, dp:\the\dp0}%
-           *{wd:\the\wd2, ht:\the\ht2, dp:\the\dp2}%
-    [#1=##1] % hash-ok
-  }%
-}
-\RequirePackage{keyval}
-\TestKey{adieresis}{\"a}
-\TestKey{germandbls}{\ss}
-\TestKey{Euro}{\texteuro}
-\makeatother
-\usepackage[
-  warning,%
-%<test2>  utf8=utf-8,
-%<test3>  ucs,
-]{selinput}
-%<test1|test3>\inputencoding{ascii}
-%<test2>\inputencoding{utf-8}
-%<test3>\usepackage{ucs}
-\begin{qstest}{preamble}{}
-  \TestEncoding{x-iso-8859-15}{%
-    adieresis=^^e4,%
-    germandbls=^^df,%
-    Euro=^^a4,%
-  }%
-  \TestEncoding{x-cp1252}{%
-    adieresis=^^e4,%
-    germandbls=^^df,%
-    Euro=^^80,%
-  }%
-%<test1>  \TestEncoding{utf8}{%
-%<test2>  \TestEncoding{utf-8}{%
-%<test3>  \TestEncoding{utf8x}{%
-    adieresis=^^c3^^a4,%
-    germandbls=^^c3^^9f,%
-%<!test2>    Euro=^^e2^^82^^ac,
-  }%
-\end{qstest}
-%<test3>\let\ifUnicodeOptiongraphics\iffalse
-\begin{document}
-\begin{qstest}{document}{}
-%<test3>\makeatletter
-  \BeginDocumentText
-\end{qstest}
-%</test1|test2|test3>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test4>
-\usepackage[warning,ucs]{selinput}
-\SelectInputMappings{%
-    adieresis=^^c3^^a4,%
-    germandbls=^^c3^^9f,%
-    Euro=^^e2^^82^^ac,%
-}
-\begin{qstest}{encoding}{}
-  \Expect*{\inputencodingname}{utf8x}%
-\end{qstest}
-\begin{document}
-  adieresis=^^c3^^a4, %
-  germandbls=^^c3^^9f, %
-  Euro=^^e2^^82^^ac%
-%</test4>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*test5>
-\usepackage[warning,ucs]{selinput}
-\SelectInputMappings{%
-    adieresis={\"a},%
-    germandbls={{\ss}},%
-    Euro=\texteuro{},%
-}
-\begin{qstest}{encoding}{}
-  \Expect*{\inputencodingname}{ascii}%
-\end{qstest}
-\begin{document}
-  adieresis={\"a}, %
-  germandbls={{\ss}}, %
-  Euro=\texteuro{}%
-%</test5>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\end{document}
-%</test>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -831,11 +691,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   selinput.sty & tex/latex/oberdiek/selinput.sty\\
 %   selinput.pdf & doc/latex/oberdiek/selinput.pdf\\
-%   test/selinput-test1.tex & doc/latex/oberdiek/test/selinput-test1.tex\\
-%   test/selinput-test2.tex & doc/latex/oberdiek/test/selinput-test2.tex\\
-%   test/selinput-test3.tex & doc/latex/oberdiek/test/selinput-test3.tex\\
-%   test/selinput-test4.tex & doc/latex/oberdiek/test/selinput-test4.tex\\
-%   test/selinput-test5.tex & doc/latex/oberdiek/test/selinput-test5.tex\\
 %   selinput.dtx & source/latex/oberdiek/selinput.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -68,8 +68,6 @@
 %    TDS:tex/generic/oberdiek/setouterhbox.sty
 %    TDS:doc/latex/oberdiek/setouterhbox.pdf
 %    TDS:doc/latex/oberdiek/setouterhbox-example.tex
-%    TDS:doc/latex/oberdiek/test/setouterhbox-test1.tex
-%    TDS:doc/latex/oberdiek/test/setouterhbox-test2.tex
 %    TDS:source/latex/oberdiek/setouterhbox.dtx
 %
 %<*ignore>
@@ -144,10 +142,6 @@
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{setouterhbox-test1.tex}{\from{setouterhbox.dtx}{test1}}%
 %  \file{setouterhbox-test2.tex}{\from{setouterhbox.dtx}{test2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{setouterhbox.xml}{\from{setouterhbox.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -184,21 +178,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{setouterhbox.drv}
 %
@@ -787,155 +766,8 @@
 \setouterhboxAtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input setouterhbox.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Test with package \xpackage{url}}
-%
-%    \begin{macrocode}
-%<*test2>
-\nofiles
-\documentclass[a5paper]{article}
-\usepackage{url}[2005/06/27]
-\usepackage{setouterhbox}
-
-\newsavebox{\testbox}
-
-\setlength{\parindent}{0pt}
-\setlength{\parskip}{2em}
-
-\begin{document}
-\raggedright
-
-\url{http://this.is.a.very.long.host.name/followed/%
-by/a/very_long_long_long_path.html}%
-
-\sbox\testbox{%
-  \url{http://this.is.a.very.long.host.name/followed/%
-  by/a/very_long_long_long_path.html}%
-}%
-\unhbox\testbox
-
-\begin{setouterhbox}{\testbox}%
-  \url{http://this.is.a.very.long.host.name/followed/%
-  by/a/very_long_long_long_path.html}%
-\end{setouterhbox}
-\unhbox\testbox
-
-\end{document}
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -984,8 +816,6 @@
 %   setouterhbox.sty & tex/generic/oberdiek/setouterhbox.sty\\
 %   setouterhbox.pdf & doc/latex/oberdiek/setouterhbox.pdf\\
 %   setouterhbox-example.tex & doc/latex/oberdiek/setouterhbox-example.tex\\
-%   test/setouterhbox-test1.tex & doc/latex/oberdiek/test/setouterhbox-test1.tex\\
-%   test/setouterhbox-test2.tex & doc/latex/oberdiek/test/setouterhbox-test2.tex\\
 %   setouterhbox.dtx & source/latex/oberdiek/setouterhbox.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/settobox.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/settobox.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/settobox.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -131,10 +131,6 @@
   \file{settobox.sty}{\from{settobox.dtx}{package}}%
   \usedir{doc/latex/oberdiek}%
   \file{settobox-example.tex}{\from{settobox.dtx}{example}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{settobox.xml}{\from{settobox.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -173,21 +169,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{settobox.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,11 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/soulutf8.sty
 %    TDS:doc/latex/oberdiek/soulutf8.pdf
-%    TDS:doc/latex/oberdiek/test/soulutf8-test1.tex
-%    TDS:doc/latex/oberdiek/test/soulutf8-test2.tex
-%    TDS:doc/latex/oberdiek/test/soulutf8-test3.tex
-%    TDS:doc/latex/oberdiek/test/soulutf8-test4.tex
-%    TDS:doc/latex/oberdiek/test/soulutf8-test5.tex
 %    TDS:source/latex/oberdiek/soulutf8.dtx
 %
 %<*ignore>
@@ -147,10 +142,6 @@
 %  \file{soulutf8-test3.tex}{\from{soulutf8.dtx}{test3,utf8x}}%
 %  \file{soulutf8-test4.tex}{\from{soulutf8.dtx}{test4,utf8,noetex}}%
 %  \file{soulutf8-test5.tex}{\from{soulutf8.dtx}{test5,utf8x,noetex}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{soulutf8.xml}{\from{soulutf8.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -187,21 +178,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{soulutf8.drv}
 %
@@ -1128,554 +1104,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input soulutf8.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{\LaTeX\space tests}
-%
-%    \begin{macrocode}
-%<*test2|test3|test4|test5>
-%    \end{macrocode}
-%    \begin{macrocode}
-%<noetex>\let\SavedUnexpanded\unexpanded
-%<noetex>\let\unexpanded\UNDEFINED
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{textcomp}
-\usepackage[ngerman]{babel}
-\expandafter\def\csname ver at hypdestopt.sty\endcsname{}
-\usepackage[unicode]{hyperref}
-\usepackage{bookmark}
-\usepackage{color}
-\usepackage{soul}[2003/11/17]
-\makeatletter
-\newcommand*{\@ifDefined}[1]{%
-  \@ifundefined{#1}{%
-    \@latex at error{%
-      \expandafter\noexpand\csname#1\endcsname undefined%
-    }\@ehc
-  }%
-}
-\newcommand*{\SaveOrg}[1]{%
-  \@ifdefinable{ORG at SOUL@#1}{%
-    \@ifDefined{SOUL@#1}{%
-      \expandafter\let\csname ORG at SOUL@#1\expandafter\endcsname
-                      \csname SOUL@#1\endcsname
-    }%
-  }%
-}
-\newcommand*{\RestoreOrg}[1]{%
-  \@ifDefined{ORG at SOUL@#1}{%
-    \@ifDefined{SOUL@#1}{%
-      \expandafter\let\csname SOUL@#1\expandafter\endcsname
-                      \csname ORG at SOUL@#1\endcsname
-    }%
-  }%
-}
-\makeatother
-\SaveOrg{eval}
-\SaveOrg{splittoken}
-\SaveOrg{flushcomma}
-\SaveOrg{flushapo}
-\SaveOrg{grave}
-\SaveOrg{addgroup}
-\SaveOrg{addmath}
-\SaveOrg{addprotect}
-\SaveOrg{addtoken}
-\usepackage{soulutf8}[2016/05/16]
-%    \end{macrocode}
-%    \begin{macrocode}
-%<noetex>\let\unexpanded\SavedUnexpanded
-%    \end{macrocode}
-%    Input encoding \xfile{utf8}.
-%    \begin{macrocode}
-%<*utf8>
-\usepackage[utf8]{inputenc}
-\DeclareUnicodeCharacter{00A0}{\nobreakspace}
-%</utf8>
-%    \end{macrocode}
-%    Input encoding \xfile{utf8x}. Package \xpackage{ucs}
-%    has a nasty bug, that it redefines \cs{show}.
-%    \begin{macrocode}
-%<*utf8x>
-\let\origshow\show
-\usepackage[utf8x]{inputenc}
-\AtBeginDocument{%
-  \let\show\origshow
-}
-%</utf8x>
-%    \end{macrocode}
-%
-% \subsubsection{Driver definitions}
-%
-%    \begin{macrocode}
-\makeatletter
-%    \end{macrocode}
-%    \begin{macro}{\an}
-%    The definition for \cs{an} is taken from the documentation of
-%    package \xpackage{soul}.
-%    \begin{macrocode}
-\DeclareRobustCommand*{\an}{%
-  \def\SOUL at preamble{$^{^P}$}%
-  \def\SOUL at everyspace##1{##1\texttt{\char`\ }\linebreak[2]}%
-  \def\SOUL at postamble{$^{^E}$}%
-  \def\SOUL at everyhyphen{$^{^-}$\linebreak[1]}%
-  \def\SOUL at everyexhyphen##1{##1$^{^=}$}%
-  \def\SOUL at everysyllable{$^{^S}$}%
-  \def\SOUL at everytoken{\the\SOUL at token$^{^T}$}%
-  \def\SOUL at everylowerthan{$^{^L}$}%
-  \SOUL@
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\sy}
-%    The definition for \cs{sy} is taken from the documentation of
-%    package \xpackage{soul}.
-%    \begin{macrocode}
-\DeclareRobustCommand*{\sy}{%
-  \SOUL at setup
-  \def\SOUL at preamble{%
-    \lefthyphenmin=\z@
-    \righthyphenmin=\z@
-  }%
-  \def\SOUL at everyspace##1{##1\space}%
-  \def\SOUL at everysyllable{\the\SOUL at syllable}%
-  \def\SOUL at everyhyphen{%
-    \discretionary{%
-      \SOUL at setkern\SOUL at hyphkern
-      \SOUL at sethyphenchar
-    }{}{%
-      \hbox{\kern1pt$\cdot$}%
-    }%
-  }%
-  \def\SOUL at everyexhyphen##1{%
-    \SOUL at setkern\SOUL at hyphkern
-    \hbox{##1}%
-    \discretionary{}{}{%
-      \SOUL at setkern\SOUL at charkern
-    }%
-  }%
-  \SOUL@
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\soulH}
-%    \begin{macrocode}
-\DeclareRobustCommand*{\soulH}{%
-  \def\SOUL at preamble{%
-    \gdef\SOULH{}%
-    \soulHadd{[}%
-  }%
-  \def\SOUL at everyspace##1{%
-    \soulHadd{Sp}%
-  }%
-  \def\SOUL at postamble{%
-    \soulHadd{]}%
-  }%
-  \def\SOUL at everyhyphen{%
-    \soulHadd{Hy}%
-  }%
-  \def\SOUL at everyexhyphen##1{%
-    \soulHadd{Exhy}%
-  }%
-  \def\SOUL at everysyllable{%
-    \soulHadd{Sy}%
-  }%
-  \def\SOUL at everytoken{%
-    \soulHadd{T}%
-  }%
-  \def\SOUL at everylowerthan{%
-    \soulHadd{<}%
-  }%
-  \SOUL@
-}
-\newcommand*{\soulHadd}[1]{%
-  #1%
-  \expandafter\gdef\expandafter\soulHstring\expandafter{%
-    \soulHstring
-    #1%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Test macros}
-%
-%    \begin{macrocode}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%    \end{macrocode}
-%    \begin{macrocode}
-\newsavebox\boxA
-\newsavebox\boxB
-\newsavebox\boxC
-%    \end{macrocode}
-%    \begin{macro}{\TestDriver}
-%    \begin{macrocode}
-\newcommand*{\TestDriver}[4]{%
-  \subsection{Driver #1}%
-  \@PackageInfo{soulutf8-test}{* Driver #1}%
-  \expandafter\let\expandafter\testdriver\csname #1\endcsname
-  \def\teststringA{#3}%
-  \def\teststringB{#4}%
-  \begin{qstest}{string-#2-driver-#1}{string,#2,driver,#1}%
-    \@PackageInfo{soulutf8-test}{* Version: soulutf8}%
-    \global\let\soulHstring\@empty
-    \setbox0=\hbox{\expandafter\testdriver\expandafter{\teststringA}}%
-    \let\HstringA\soulHstring
-    \SetTestVBox{\boxA}{\teststringA}%
-    %
-    \@PackageInfo{soulutf8-test}{* Version: soul + patch}%
-    \global\let\soulHstring\@empty
-    \RestoreOrg{eval}%
-    \setbox2=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
-    \let\HstringB\soulHstring
-    \SetTestVBox{\boxB}{\teststringB}%
-    %
-    \@PackageInfo{soulutf8-test}{* Version: original soul}%
-    \global\let\soulHstring\@empty
-    \RestoreOrg{splittoken}%
-    \RestoreOrg{flushcomma}%
-    \RestoreOrg{flushapo}%
-    \RestoreOrg{grave}%
-    \RestoreOrg{addgroup}%
-    \RestoreOrg{addmath}%
-    \RestoreOrg{addprotect}%
-    \RestoreOrg{addtoken}%
-    \setbox4=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
-    \let\HstringC\soulHstring
-    \SetTestVBox{\boxC}{\teststringB}%
-    %
-    \TestInfo{0}{soulutf8}%
-    \TestInfo{2}{soul + patch}%
-    \TestInfo{4}{original soul}%
-    \TestInfoVBox
-    \showboxdepth=\maxdimen
-    \showboxbreadth=\maxdimen
-    \tracingonline=\@ne
-    \Expect*{\HstringA}*{\HstringB}%
-    \Expect*{\HstringA}*{\HstringC}%
-    \Expect*{\the\wd0}*{\the\wd2}%
-    \ifdim\wd0=\wd2 %
-    \else
-      \showbox0 %
-      \showbox2 %
-    \fi
-    \Expect*{\the\ht0}*{\the\ht2}%
-    \Expect*{\the\dp0}*{\the\dp2}%
-    \Expect*{\the\wd\boxB}*{\the\wd\boxA}%
-    \Expect*{\the\wd\boxC}*{\the\wd\boxA}%
-    \Expect*{\the\ht\boxB}*{\the\ht\boxA}%
-    \ifdim\ht\boxB=\ht\boxA
-    \else
-      \showbox\boxA
-      \showbox\boxB
-    \fi
-    \Expect*{\the\ht\boxC}*{\the\ht\boxA}%
-    \Expect*{\the\dp\boxB}*{\the\dp\boxA}%
-    \Expect*{\the\dp\boxC}*{\the\dp\boxA}%
-  \end{qstest}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SetTestVBox}
-%    \begin{macrocode}
-\newcommand*{\SetTestVBox}[2]{%
-  \setbox#1=\vbox{%
-    \hsize=0pt\relax
-    \hfuzz=100mm\relax
-    \expandafter\testdriver\expandafter{#2}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\TestInfo}
-%    \begin{macrocode}
-\newcommand*{\TestInfo}[2]{%
-  \par
-  \noindent
-  \copy#1\relax
-  \hfill
-  \begingroup
-    \small
-    \ifdim\wd0=\wd2\relax
-      \ifdim\wd0=\wd4\relax
-      \else
-        \ifnum#1=2 %
-          \raisebox{.5\baselineskip}[0pt][0pt]{%
-            \llap{$\}$ }%
-            \rlap{width = \the\wd#1\relax\space$\{$}%
-            \phantom{width = 999.99999pt}%
-            \qquad
-          }%
-        \else
-          \ifnum#1=4 %
-            \rlap{width = \the\wd#1}%
-            \phantom{width = 999.99999pt}%
-            \qquad
-          \fi
-        \fi
-      \fi
-    \else
-      \begingroup
-        \bfseries
-        \rlap{width = \the\wd#1}%
-        \phantom{width = 999.99999pt}%
-      \endgroup
-      \qquad
-    \fi
-    \rlap{(#2)}%
-    \phantom{(original soul)}%
-  \endgroup
-  \par
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\TestInfoVBox}
-%    \begin{macrocode}
-\newcommand*{\TestInfoVBox}{%
-  \par
-  \noindent
-  \mbox{\vrule\relax\space\copy\boxA}%
-  \ifdim\ht\boxA=\ht\boxB
-  \else
-    \hfill
-    \begingroup
-      \small
-      \rlap{(soulutf8)}%
-      \phantom{(soulutf8)}%
-    \endgroup
-    \par
-    \noindent
-    \mbox{\vrule\relax\space\copy\boxB}%
-    \hfill
-    \begingroup
-      \small
-      \rlap{(soul)}%
-      \phantom{(soulutf8)}%
-    \endgroup
-  \fi
-  \par
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Test}
-%    \begin{macrocode}
-\makeatletter
-\newcommand*{\Test}[3]{%
-  \clearpage
-  \begingroup
-    \def\linebreak{\textbackslash linebreak }%
-    \def\\{\textbackslash\textbackslash}%
-    \def\soulomit##1{%
-      \textbackslash soulomit\textbraceleft##1\textbraceright
-    }%
-    \def\mbox##1{%
-      \textbackslash mbox\textbraceleft##1\textbraceright
-    }%
-    \def\abc{\textbackslash abc }%
-    \def\texttt##1{%
-      \textbackslash texttt\textbraceleft##1\textbraceright
-    }%
-    \def\c##1{%
-      \textbackslash c\textbraceleft##1\textbraceright
-    }%
-%<*utf8x>
-    \count@=128 %
-    \loop
-    \ifnum\count@<256 %
-      \lccode`\~=\count@
-      \lowercase{%
-        \def~{\noexpand~}%
-      }%
-      \advance\count@\@ne
-    \repeat
-%</utf8x>
-    \csname protected at edef\endcsname\x{\endgroup
-      \noexpand\section{String #1: #2}%
-    }%
-  \x
-  \TestDriver{so}{#1}{#2}{#3}%
-  \TestDriver{caps}{#1}{#2}{#3}%
-  \TestDriver{ul}{#1}{#2}{#3}%
-  \TestDriver{st}{#1}{#2}{#3}%
-  \TestDriver{hl}{#1}{#2}{#3}%
-  \TestDriver{an}{#1}{#2}{#3}%
-  \TestDriver{sy}{#1}{#2}{#3}%
-  \TestDriver{soulH}{#1}{#2}{#3}%
-}
-\makeatother
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Testing}
-%
-%    \begin{macrocode}
-\begin{document}
-  \Test A{}{}%
-  \Test B{Hello World}{Hello World}%
-  \Test C{%
-    Umlauts: ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f%
-  }{%
-    Umlauts: \"A\"O\"U\"a\"o\"u\ss
-  }%
-  \Test D{Euro: ^^e2^^82^^ac}{Euro: \texteuro}%
-  \Test E{Stra^^c3^^9fe}{Stra\ss e}%
-  \Test F{R^^c3^^b6mer}{R\"omer}%
-  \Test G{A^^e2^^80^^93B^^e2^^80^^94C}{A--B---C}%
-  \Test H{X^^c2^^a0Y}{X~Y}%
-  \Test I{A^^c5^^a4}{A\v T}%
-  \Test J{A,B,,C,,,D,,,,E}{A,B,,C,,,D,,,,E}%
-  \Test K{A'B''C'''D''''E}{A'B''C'''D''''E}%
-  \Test L{A`B``C```D````E}{A`B``C```D````E}%
-  \Test M{A$x$B}{A$x$B}%
-  \Test N{A\mbox{abc}B}{A\mbox{abc}B}%
-  \Test O{,,TA''}{,,TA''}%
-  \Test P{{!`}Hola{?`}}{{!`}Hola{?`}}%
-  \Test Q{re-sent\slash x}{re-sent\slash x}%
-  \Test R{new\\line}{new\\line}%
-  \Test S{foo\linebreak bar}{foo\linebreak bar}%
-  \Test T{Virchow{sche}}{Virchow{sche}}%
-  \Test U{A\soulomit{foo}B}{A\soulomit{foo}B}%
-  \Test V{A\texttt{xyz}B}{A\texttt{xyz}B}%
-  \Test W{ffi}{ffi}%
-  \Test X{f{}f{}i}{f{}f{}i}%
-  \Test Y{f\mbox{}f\mbox{}i}{f\mbox{}f\mbox{}i}%
-  \Test Z{\c{\"a}}{{\c{\"a}}}%
-%<*test2|test3>
-  \let\abcx\UNDEFINED
-  \def\abc{%
-    \begingroup
-      \def\abcx{x}%
-      \abcx
-    \endgroup
-  }%
-  \Test{AA}{[{x\abc x}]}{[{xxx}]}%
-%</test2|test3>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\end{document}
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test2|test3|test4|test5>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1723,11 +1153,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   soulutf8.sty & tex/generic/oberdiek/soulutf8.sty\\
 %   soulutf8.pdf & doc/latex/oberdiek/soulutf8.pdf\\
-%   test/soulutf8-test1.tex & doc/latex/oberdiek/test/soulutf8-test1.tex\\
-%   test/soulutf8-test2.tex & doc/latex/oberdiek/test/soulutf8-test2.tex\\
-%   test/soulutf8-test3.tex & doc/latex/oberdiek/test/soulutf8-test3.tex\\
-%   test/soulutf8-test4.tex & doc/latex/oberdiek/test/soulutf8-test4.tex\\
-%   test/soulutf8-test5.tex & doc/latex/oberdiek/test/soulutf8-test5.tex\\
 %   soulutf8.dtx & source/latex/oberdiek/soulutf8.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/stackrel.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/stackrel.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/stackrel.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{stackrel.drv}{\from{stackrel.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{stackrel.sty}{\from{stackrel.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{stackrel.xml}{\from{stackrel.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -168,21 +164,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{stackrel.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{stampinclude.drv}{\from{stampinclude.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{stampinclude.sty}{\from{stampinclude.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{stampinclude.xml}{\from{stampinclude.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{stampinclude.drv}
 %
@@ -610,13 +591,13 @@
 %   Pablo A. Straub, Heiko Oberdiek:
 %   \textit{The \xpackage{askinclude} package};
 %   2007/10/23 v2.0;
-%   \CTAN{macros/latex/contrib/oberdiek/askinclude.pdf}.
+%   \CTANpkg{askinclude}.
 %
 % \bibitem{pdftexcmds}
 %   Heiko Oberdiek:
 %   \textit{The \xpackage{pdftexcmds} package};
 %   2007/12/12 v0.3;
-%   \CTAN{macros/latex/contrib/oberdiek/pdftexcmds.pdf}.
+%   \CTANpkg{pdftexcmds}.
 %
 % \end{thebibliography}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/tabularht.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/tabularht.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/tabularht.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -133,10 +133,6 @@
   \usedir{doc/latex/oberdiek}%
   \file{tabularht-example1.tex}{\from{tabularht.dtx}{example1}}%
   \file{tabularht-example2.tex}{\from{tabularht.dtx}{example2}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{tabularht.xml}{\from{tabularht.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -173,21 +169,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{tabularht.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -131,10 +131,6 @@
   \file{tabularkv.sty}{\from{tabularkv.dtx}{package}}%
   \usedir{doc/latex/oberdiek}%
   \file{tabularkv-example.tex}{\from{tabularkv.dtx}{example}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{tabularkv.xml}{\from{tabularkv.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -171,21 +167,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{tabularkv.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/telprint.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/telprint.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/telprint.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -66,7 +66,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/telprint.sty
 %    TDS:doc/latex/oberdiek/telprint.pdf
-%    TDS:doc/latex/oberdiek/test/telprint-test1.tex
 %    TDS:source/latex/oberdiek/telprint.dtx
 %
 %<*ignore>
@@ -137,10 +136,6 @@
   \file{telprint.sty}{\from{telprint.dtx}{package}}%
 %  \usedir{doc/latex/oberdiek/test}%
 %  \file{telprint-test1.tex}{\from{telprint.dtx}{test1}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{telprint.xml}{\from{telprint.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -178,21 +173,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{telprint.drv}
 %
@@ -628,119 +608,8 @@
 \TELAtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input telprint.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -788,7 +657,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   telprint.sty & tex/generic/oberdiek/telprint.sty\\
 %   telprint.pdf & doc/latex/oberdiek/telprint.pdf\\
-%   test/telprint-test1.tex & doc/latex/oberdiek/test/telprint-test1.tex\\
 %   telprint.dtx & source/latex/oberdiek/telprint.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -67,9 +67,6 @@
 % Installation:
 %    TDS:tex/generic/oberdiek/thepdfnumber.sty
 %    TDS:doc/latex/oberdiek/thepdfnumber.pdf
-%    TDS:doc/latex/oberdiek/test/thepdfnumber-test1.tex
-%    TDS:doc/latex/oberdiek/test/thepdfnumber-test2.tex
-%    TDS:doc/latex/oberdiek/test/thepdfnumber-test3.tex
 %    TDS:source/latex/oberdiek/thepdfnumber.dtx
 %
 %<*ignore>
@@ -186,21 +183,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{thepdfnumber.drv}
 %
@@ -1102,304 +1084,8 @@
 \ThPdNu at AtEnd%
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input thepdfnumber.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-%    \begin{macrocode}
-%<*test2>
-\catcode`\{=1
-\catcode`\}=2
-\catcode`\#=6
-\catcode`\@=11
-\errorcontextlines=10000 %
-\def\msg#{\immediate\write16}
-\def\space{ }
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input thepdfnumber.sty\relax
-\else
-  \RequirePackage{thepdfnumber}[2016/05/16]%
-\fi
-%    \end{macrocode}
-%
-%    \begin{macro}{\Test}
-%    \begin{macrocode}
-\def\Test#1#2{%
-  \def\TestExpected{#2}%
-%<*active>
-  \edef\TestExpected{\TestExpected}%
-%</active>
-  \expandafter\expandafter\expandafter\def
-  \expandafter\expandafter\expandafter\TestResult
-  \expandafter\expandafter\expandafter{%
-    \TestCommand{#1}%
-  }%
-  \begingroup
-    \toks0\expandafter{\TestResult}%
-    \toks2\expandafter{\TestExpected}%
-    \ifx\TestResult\TestExpected
-      \msg{* OK: #1 => \the\toks0}%
-    \else
-      \errmessage{FAILED: #1 => \the\toks0\space(\the\toks2)}%
-    \fi
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\let\thepdfnumber at ErrorUnexpectedEnd\relax
-\let\thepdfnumber at ErrorInvalidToken\relax
-%    \end{macrocode}
-%
-% \subsubsection{Test with active catcodes}
-%
-%    \begin{macrocode}
-%<*active>
-\catcode`\~=13 %
-\def\ThPdNu at Temp#1{%
-  \begingroup
-    \lccode`\~=`#1 %
-  \lowercase{\endgroup
-    \edef~%
-  }{\string#1}%
-  \catcode`#1=13 %
-}
-\ThPdNu at Temp{.}
-\ThPdNu at Temp{-}
-\ThPdNu at Temp{+}
-%</active>
-%    \end{macrocode}
-%
-% \subsubsection{Test cases for \cs{thepdfnumber}}
-%
-%    \begin{macro}{\TestCommand}
-%    \begin{macrocode}
-\let\TestCommand\thepdfnumber
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\Test{0}{0}
-\Test{1}{1}
-\Test{23}{23}
-\Test{0045}{45}
-\Test{4500}{4500}
-\Test{-0}{0}
-\Test{-1}{-1}
-\Test{-00002}{-2}
-\Test{-010203}{-10203}
-\Test{+0}{0}
-\Test{+123}{123}
-
-\Test{+-4}{-4}
-\Test{+-+-4}{4}
-\Test{++--++--++4}{4}
-\Test{+++---+++---+++---4}{-4}
-
-\Test{.}{0}
-\Test{0.}{0}
-\Test{.0}{0}
-\Test{0.}{0}
-\Test{-.}{0}
-\Test{-0.}{0}
-\Test{-.0}{0}
-\Test{-0.}{0}
-\Test{010.020}{10.02}
-\Test{123.456}{123.456}
-\Test{12.}{12}
-\Test{.123}{.123}
-\Test{.0001}{.0001}
-\Test{.00100}{.001}
-\Test{.12003400560078009}{.12003400560078009}
-\Test{-.12003400560078009}{-.12003400560078009}
-\Test{04.0500000}{4.05}
-
-\Test{}{0\thepdfnumber at ErrorUnexpectedEnd}
-\Test{+}{0\thepdfnumber at ErrorUnexpectedEnd}
-\Test{-}{0\thepdfnumber at ErrorUnexpectedEnd}
-\Test{a}{0\thepdfnumber at ErrorInvalidToken}
-\Test{0x1}{0\thepdfnumber at ErrorInvalidToken}
-\Test{4x56}{4\thepdfnumber at ErrorInvalidToken}
-\Test{012,34}{12\thepdfnumber at ErrorInvalidToken}
-\Test{0.12x4}{.12\thepdfnumber at ErrorInvalidToken}
-%    \end{macrocode}
-%
-% \subsubsection{Test cases for \cs{thepdfnumberNormZeroOne}}
-%
-%    \begin{macro}{\TestCommand}
-%    \begin{macrocode}
-\let\TestCommand\thepdfnumberNormZeroOne
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\Test{0}{0}
-\Test{1}{1}
-\Test{23}{1}
-\Test{12}{1}
-\Test{10}{1}
-\Test{0045}{1}
-\Test{001}{1}
-\Test{-0}{0}
-\Test{-1}{0}
-\Test{-01}{0}
-\Test{-4}{0}
-
-\Test{+-0}{0}
-\Test{+-+-1}{1}
-\Test{++--++--++1}{1}
-\Test{+++---+++---+++---1}{0}
-
-\Test{.}{0}
-\Test{0.}{0}
-\Test{.0}{0}
-\Test{0.}{0}
-\Test{-.}{0}
-\Test{-0.}{0}
-\Test{-.0}{0}
-\Test{-0.}{0}
-\Test{010.020}{1}
-\Test{123.456}{1}
-\Test{12.}{1}
-\Test{.123}{.123}
-\Test{.0001}{.0001}
-\Test{.00100}{.001}
-\Test{.12003400560078009}{.12003400560078009}
-\Test{-.12003400560078009}{0}
-\Test{04.0500000}{1}
-\Test{0.1200340056}{.1200340056}
-\Test{1.05}{1}
-
-\Test{}{0\thepdfnumber at ErrorUnexpectedEnd}
-\Test{+}{0\thepdfnumber at ErrorUnexpectedEnd}
-\Test{-}{0\thepdfnumber at ErrorUnexpectedEnd}
-\Test{a}{0\thepdfnumber at ErrorInvalidToken}
-\Test{0x1}{0\thepdfnumber at ErrorInvalidToken}
-\Test{4x56}{1}
-\Test{012,34}{1}
-\Test{.012x4}{.012\thepdfnumber at ErrorInvalidToken}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -1447,9 +1133,6 @@
 % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
 %   thepdfnumber.sty & tex/generic/oberdiek/thepdfnumber.sty\\
 %   thepdfnumber.pdf & doc/latex/oberdiek/thepdfnumber.pdf\\
-%   test/thepdfnumber-test1.tex & doc/latex/oberdiek/test/thepdfnumber-test1.tex\\
-%   test/thepdfnumber-test2.tex & doc/latex/oberdiek/test/thepdfnumber-test2.tex\\
-%   test/thepdfnumber-test3.tex & doc/latex/oberdiek/test/thepdfnumber-test3.tex\\
 %   thepdfnumber.dtx & source/latex/oberdiek/thepdfnumber.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/twoopt.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/twoopt.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/twoopt.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -126,10 +126,6 @@
   \file{twoopt.drv}{\from{twoopt.dtx}{driver}}%
   \usedir{tex/latex/oberdiek}%
   \file{twoopt.sty}{\from{twoopt.dtx}{package}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{twoopt.xml}{\from{twoopt.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -166,21 +162,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{twoopt.drv}
 %

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx	2019-12-04 22:54:28 UTC (rev 53027)
@@ -69,9 +69,6 @@
 %    TDS:tex/generic/oberdiek/uniquecounter.sty
 %    TDS:doc/latex/oberdiek/uniquecounter.pdf
 %    TDS:doc/latex/oberdiek/uniquecounter-example.tex
-%    TDS:doc/latex/oberdiek/test/uniquecounter-test1.tex
-%    TDS:doc/latex/oberdiek/test/uniquecounter-test2.tex
-%    TDS:doc/latex/oberdiek/test/uniquecounter-test3.tex
 %    TDS:source/latex/oberdiek/uniquecounter.dtx
 %
 %<*ignore>
@@ -148,10 +145,6 @@
 %  \file{uniquecounter-test1.tex}{\from{uniquecounter.dtx}{test1}}%
 %  \file{uniquecounter-test2.tex}{\from{uniquecounter.dtx}{test2}}%
 %  \file{uniquecounter-test3.tex}{\from{uniquecounter.dtx}{test3}}%
-  \nopreamble
-  \nopostamble
-%  \usedir{source/latex/oberdiek/catalogue}%
-%  \file{uniquecounter.xml}{\from{uniquecounter.dtx}{catalogue}}%
 }
 
 \catcode32=13\relax% active space
@@ -188,21 +181,6 @@
 % \fi
 %
 %
-% \CharacterTable
-%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%   Digits        \0\1\2\3\4\5\6\7\8\9
-%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%   Dollar        \$     Percent       \%     Ampersand     \&
-%   Acute accent  \'     Left paren    \(     Right paren   \)
-%   Asterisk      \*     Plus          \+     Comma         \,
-%   Minus         \-     Point         \.     Solidus       \/
-%   Colon         \:     Semicolon     \;     Less than     \<
-%   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash     \\
-%   Right bracket \]     Circumflex    \^     Underscore    \_
-%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%   Right brace   \}     Tilde         \~}
 %
 % \GetFileInfo{uniquecounter.drv}
 %
@@ -530,292 +508,8 @@
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}
+%% \section{Installation}
 %
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-%    \begin{macrocode}
-%<*test1>
-%    \end{macrocode}
-%    \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
-  \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
-  \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
-  \expandafter\@firstofone
-\else
-  \expandafter\@gobble
-\fi
-{%
-  \def\loop#1\repeat{%
-    \def\body{#1}%
-    \iterate
-  }%
-  \def\iterate{%
-    \body
-      \let\next\iterate
-    \else
-      \let\next\relax
-    \fi
-    \next
-  }%
-  \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
-  \edef\RestoreCatcodes{%
-    \RestoreCatcodes
-    \catcode\the\count@=\the\catcode\count@\relax
-  }%
-\ifnum\count@<255 %
-  \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
-  \count@=#1\relax
-  \loop
-    \catcode\count@=15 %
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
-  \count@=#1\relax
-  \loop
-    \ifnum#3=\catcode\count@
-    \else
-      \errmessage{%
-        Character \the\count@\space
-        with wrong catcode \the\catcode\count@\space
-        instead of \number#3%
-      }%
-    \fi
-  \ifnum\count@<#2\relax
-    \advance\count@ 1 %
-  \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
-  \def\LoadCommand{\input uniquecounter.sty\relax}%
-\fi
-\def\Test{%
-  \RangeCatcodeInvalid{0}{47}%
-  \RangeCatcodeInvalid{58}{64}%
-  \RangeCatcodeInvalid{91}{96}%
-  \RangeCatcodeInvalid{123}{255}%
-  \catcode`\@=12 %
-  \catcode`\\=0 %
-  \catcode`\%=14 %
-  \LoadCommand
-  \RangeCatcodeCheck{0}{36}{15}%
-  \RangeCatcodeCheck{37}{37}{14}%
-  \RangeCatcodeCheck{38}{47}{15}%
-  \RangeCatcodeCheck{48}{57}{12}%
-  \RangeCatcodeCheck{58}{63}{15}%
-  \RangeCatcodeCheck{64}{64}{12}%
-  \RangeCatcodeCheck{65}{90}{11}%
-  \RangeCatcodeCheck{91}{91}{15}%
-  \RangeCatcodeCheck{92}{92}{0}%
-  \RangeCatcodeCheck{93}{96}{15}%
-  \RangeCatcodeCheck{97}{122}{11}%
-  \RangeCatcodeCheck{123}{255}{15}%
-  \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-%    \end{macrocode}
-%    \begin{macrocode}
-%</test1>
-%    \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Test with \LaTeX}
-%
-%    \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-\usepackage{uniquecounter}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\CheckValue}[2]{%
-  \Expect*{#2}*{\UniqueCounterGet{#1}}%
-}
-\newcommand*{\CheckSpace}[1]{%
-  \sbox0{#1}%
-  \Expect{0.0pt}*{\the\wd0}%
-}
-
-\begin{qstest}{creation}{creation}
-  \CheckSpace{%
-    \UniqueCounterNew{test}%
-  }%
-  \CheckValue{test}{0}%
-\end{qstest}
-
-\begin{qstest}{increment}{increment}
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{1}%
-  \makeatletter
-  \def\uqc at cnt@test{2147483645}%
-  \CheckValue{test}{2147483645}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{2147483646}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \Expect{true}*{\ifx\uqc at inc\uqc at NumInc true\else false\fi}%
-  \CheckValue{test}{2147483647}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{2147483648}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{2147483649}%
-\end{qstest}
-
-\begin{qstest}{call}{call}
-  \def\CheckCall#1#2{%
-    \Expect{#1}{#2}%
-  }%
-  \CheckSpace{%
-    \UniqueCounterNew{foo}%
-  }%
-  \CheckValue{foo}{0}%
-  \def\Check#1{%
-    \CheckSpace{%
-      \UniqueCounterCall{foo}{\CheckCall}{#1}%
-    }%
-    \CheckValue{foo}{#1}%
-  }%
-  \Check{1}%
-  \Check{2}%
-  \Check{3}%
-  \Check{4}%
-  \Check{5}%
-  \Check{6}%
-  \Check{7}%
-  \Check{8}%
-  \Check{9}%
-  \Check{10}%
-  \Check{11}%
-  \Check{12}%
-\end{qstest}
-
-\csname @@end\endcsname
-%</test2>
-%    \end{macrocode}
-% \subsubsection{Test with plain-\TeX}
-%
-%    \begin{macrocode}
-%<*test3>
-\input uniquecounter.sty\relax
-\catcode`\@=11 %
-\def\CheckValue#1#2{%
-  \begingroup
-    \edef\A{#2}%
-    \edef\B{\UniqueCounterGet{#1}}%
-    \ifx\A\B
-    \else
-      \@PackageError{TEST}{Failed: \A\space<> \B}\@ehc
-    \fi
-  \endgroup
-}
-\def\CheckSpace#1{%
-  \setbox0=\hbox{#1}%
-  \ifdim\wd0=\z@
-  \else
-    \@PackageError{TEST}{Failed: 0.0pt <> \the\wd0}\@ehc
-  \fi
-}
-
-\begingroup
-  \CheckSpace{%
-    \UniqueCounterNew{test}%
-  }%
-  \CheckValue{test}{0}%
-\endgroup
-
-\begingroup
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{1}%
-  \def\uqc at cnt@test{2147483645}%
-  \CheckValue{test}{2147483645}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{2147483646}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \ifx\uqc at inc\uqc at NumInc
-  \else
-    \@PackageError{TEST}{Failed: wrong inc function}\@ehc
-  \fi
-  \CheckValue{test}{2147483647}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{2147483648}%
-  \CheckSpace{%
-    \UniqueCounterIncrement{test}%
-  }%
-  \CheckValue{test}{2147483649}%
-\endgroup
-\begingroup
-  \def\CheckCall#1#2{%
-    \begingroup
-      \def\A{#1}%
-      \def\B{#2}%
-      \ifx\A\B
-      \else
-        \@PackageError{TEST}{Failed: \A\space <> \B}\@ehc
-      \fi
-    \endgroup
-  }%
-  \CheckSpace{%
-    \UniqueCounterNew{foo}%
-  }%
-  \CheckValue{foo}{0}%
-  \CheckSpace{%
-    \UniqueCounterCall{foo}{\CheckCall}{1}%
-  }%
-  \CheckSpace{%
-    \UniqueCounterCall{foo}{\CheckCall}{2}%
-  }%
-  \CheckValue{foo}{2}%
-\endgroup
-\csname @@end\endcsname\end
-%</test3>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
 % \subsection{Download}
 %
 % \paragraph{Package.} This package is available on
@@ -864,9 +558,6 @@
 %   uniquecounter.sty & tex/generic/oberdiek/uniquecounter.sty\\
 %   uniquecounter.pdf & doc/latex/oberdiek/uniquecounter.pdf\\
 %   uniquecounter-example.tex & doc/latex/oberdiek/uniquecounter-example.tex\\
-%   test/uniquecounter-test1.tex & doc/latex/oberdiek/test/uniquecounter-test1.tex\\
-%   test/uniquecounter-test2.tex & doc/latex/oberdiek/test/uniquecounter-test2.tex\\
-%   test/uniquecounter-test3.tex & doc/latex/oberdiek/test/uniquecounter-test3.tex\\
 %   uniquecounter.dtx & source/latex/oberdiek/uniquecounter.dtx\\
 % \end{tabular}^^A
 % }^^A

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -862,6 +862,7 @@
   \AtBeginDocument{\AtBegShi at PatchMemoir}%
 }
 \AtBegShi at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `atbegshi.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1825,6 +1825,7 @@
   \BIC at Fi
 }
 \BIC at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `bigintcalc.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1446,6 +1446,7 @@
   \BitSet at Fi
 }
 \BitSet at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `bitset.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -308,6 +308,7 @@
   \def\CatchFile at EOF{AB}%
 }
 \CatchFile at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `catchfile.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/embedfile.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/embedfile.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/embedfile.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,766 +0,0 @@
-%%
-%% This is file `embedfile.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% embedfile.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: embedfile
-%% Version: 2018/11/01 v2.8
-%% 
-%% Copyright (C)
-%%    2006-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file embedfile.dtx
-%% and the derived files
-%%    embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
-%%    dtx-attach.sty, embedfile-example-plain.tex,
-%%    embedfile-example-collection.tex, embedfile-test1.tex,
-%%    embedfile-test2.tex, embedfile-test3.tex,
-%%    embedfile-test4.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at embedfile.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{embedfile}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at embedfile.sty\endcsname
-\ProvidesPackage{embedfile}%
-  [2018/11/01 v2.8 Embed files into PDF (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname EmFi at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\EmFi at AtEnd{%
-    \EmFi at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\EmFi at AtEnd{\EmFi at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\EmFi at RequirePackage#1[#2]{%
-    \input #1.sty\relax
-  }%
-\else
-  \let\EmFi at RequirePackage\RequirePackage
-\fi
-\EmFi at RequirePackage{infwarerr}[2007/09/09]%
-\def\EmFi at Error{%
-  \@PackageError{embedfile}%
-}
-\ifx\pdfextension\@undefined\else
-    \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
-    \protected\def\pdfnames   {\pdfextension names }
-    \protected\def\pdfobj     {\pdfextension obj }
-    \let\pdfoutput            \outputmode
-\fi
-\EmFi at RequirePackage{ifpdf}[2007/09/09]
-\ifpdf
-\else
-  \EmFi at Error{%
-    Missing pdfTeX in PDF mode%
-  }{%
-    Currently other drivers are not supported. %
-    Package loading is aborted.%
-  }%
-  \expandafter\EmFi at AtEnd
-\fi%
-\EmFi at RequirePackage{pdftexcmds}[2007/11/11]
-\EmFi at RequirePackage{ltxcmds}[2010/03/01]
-\EmFi at RequirePackage{kvsetkeys}[2010/03/01]
-\EmFi at RequirePackage{kvdefinekeys}[2010/03/01]
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdf at filesize\endcsname\relax
-  \EmFi at Error{%
-    Unsupported pdfTeX version%
-  }{%
-    At least version 1.30 is necessary. Package loading is aborted.%
-  }%
-  \expandafter\EmFi at AtEnd
-\fi%
-\EmFi at RequirePackage{pdfescape}[2007/11/11]
-\def\EmFi at temp#1{%
-  \expandafter\EdefSanitize\csname EmFi at S@#1\endcsname{#1}%
-}
-\EmFi at temp{details}%
-\EmFi at temp{tile}%
-\EmFi at temp{hidden}%
-\EmFi at temp{text}
-\EmFi at temp{date}
-\EmFi at temp{number}
-\EmFi at temp{file}
-\EmFi at temp{desc}
-\EmFi at temp{moddate}
-\EmFi at temp{creationdate}
-\EmFi at temp{size}
-\EmFi at temp{ascending}
-\EmFi at temp{descending}
-\EmFi at temp{true}
-\EmFi at temp{false}
-\ltx at newif\ifEmFi at collection
-\ltx at newif\ifEmFi at sort
-\ltx at newif\ifEmFi at visible
-\ltx at newif\ifEmFi at edit
-\ltx at newif\ifEmFi at item
-\ltx at newif\ifEmFi at finished
-\ltx at newif\ifEmFi at id
-\def\EmFi at GlobalKey#1#2{%
-  \global\expandafter\let\csname KV@#1@#2\expandafter\endcsname
-                         \csname KV@#1@#2\endcsname
-}
-\def\EmFi at GlobalDefaultKey#1#2{%
-  \EmFi at GlobalKey{#1}{#2}%
-  \global\expandafter\let
-      \csname KV@#1@#2 at default\expandafter\endcsname
-      \csname KV@#1@#2 at default\endcsname
-}
-\def\EmFi at DefineKey#1#2{%
-  \kv at define@key{EmFi}{#1}{%
-    \expandafter\def\csname EmFi@#1\endcsname{##1}%
-  }%
-  \expandafter\def\csname EmFi@#1\endcsname{#2}%
-}
-\EmFi at DefineKey{mimetype}{}
-\EmFi at DefineKey{filespec}{\EmFi at file}
-\EmFi at DefineKey{ucfilespec}{}
-\EmFi at DefineKey{filesystem}{}
-\EmFi at DefineKey{desc}{}
-\EmFi at DefineKey{stringmethod}{%
-  \ifx\pdfstringdef\@undefined
-    escape%
-  \else
-    \ifx\pdfstringdef\relax
-      escape%
-    \else
-      psd%
-    \fi
-  \fi
-}
-\kv at define@key{EmFi}{id}{%
-  \def\EmFi at id{#1}%
-  \EmFi at idtrue
-}
-\def\EmFi at defobj#1{%
-  \ifEmFi at id
-    \expandafter\xdef\csname EmFi@#1@\EmFi at id\endcsname{%
-      \the\pdflastobj\ltx at space 0 R%
-    }%
-  \fi
-}
-\def\embedfileifobjectexists#1#2{%
-  \expandafter\ifx\csname EmFi@#2@#1\endcsname\relax
-    \expandafter\ltx at secondoftwo
-  \else
-    \expandafter\ltx at firstoftwo
-  \fi
-}
-\def\embedfilegetobject#1#2{%
-  \embedfileifobjectexists{#1}{#2}{%
-    \csname EmFi@#2@#1\endcsname
-  }{%
-    0 0 R%
-  }%
-}
-\kv at define@key{EmFi}{view}[]{%
-  \EdefSanitize\EmFi at temp{#1}%
-  \def\EmFi at next{%
-    \global\EmFi at collectiontrue
-  }%
-  \ifx\EmFi at temp\ltx at empty
-    \let\EmFi at view\EmFi at S@details
-  \else\ifx\EmFi at temp\EmFi at S@details
-    \let\EmFi at view\EmFi at S@details
-  \else\ifx\EmFi at temp\EmFi at S@tile
-    \let\EmFi at view\EmFi at S@tile
-  \else\ifx\EmFi at temp\EmFi at S@hidden
-    \let\EmFi at view\EmFi at S@hidden
-  \else
-    \let\EmFi at next\relax
-    \EmFi at Error{%
-      Unknown value `\EmFi at temp' for key `view'.\MessageBreak
-      Supported values: `details', `tile', `hidden'.%
-    }\@ehc
-  \fi\fi\fi\fi
-  \EmFi at next
-}
-\EmFi at DefineKey{initialfile}{}
-\def\embedfilesetup{%
-  \ifEmFi at finished
-    \def\EmFi at next##1{}%
-    \EmFi at Error{%
-      \string\embedfilefield\ltx at space after \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \def\EmFi at next{%
-      \kvsetkeys{EmFi}%
-    }%
-  \fi
-  \EmFi at next
-}
-\def\EmFi at schema{}
-\gdef\EmFi at order{0}
-\let\EmFi@@order\relax
-\def\EmFi at fieldlist{}
-\def\EmFi at sortcase{0}%
-\def\embedfilefield#1#2{%
-  \ifEmFi at finished
-    \EmFi at Error{%
-      \string\embedfilefield\ltx at space after \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \global\EmFi at collectiontrue
-    \EdefSanitize\EmFi at key{#1}%
-    \expandafter\ifx\csname KV at EmFi@\EmFi at key.prefix\endcsname\relax
-      \begingroup
-        \count@=\EmFi at order
-        \advance\count@ 1 %
-        \xdef\EmFi at order{\the\count@}%
-        \let\EmFi at title\EmFi at key
-        \let\EmFi at type\EmFi at S@text
-        \EmFi at visibletrue
-        \EmFi at editfalse
-        \kvsetkeys{EmFiFi}{#2}%
-        \EmFi at convert\EmFi at title\EmFi at title
-        \xdef\EmFi at schema{%
-          \EmFi at schema
-          /\pdf at escapename{\EmFi at key}<<%
-            /Subtype/%
-            \ifx\EmFi at type\EmFi at S@date D%
-            \else\ifx\EmFi at type\EmFi at S@number N%
-            \else\ifx\EmFi at type\EmFi at S@file F%
-            \else\ifx\EmFi at type\EmFi at S@desc Desc%
-            \else\ifx\EmFi at type\EmFi at S@moddate ModDate%
-            \else\ifx\EmFi at type\EmFi at S@creationdate CreationDate%
-            \else\ifx\EmFi at type\EmFi at S@size Size%
-            \else S%
-            \fi\fi\fi\fi\fi\fi\fi
-            /N(\EmFi at title)%
-            \EmFi@@order{\EmFi at order}%
-            \ifEmFi at visible
-            \else
-              /V false%
-            \fi
-            \ifEmFi at edit
-              /E true%
-            \fi
-          >>%
-        }%
-        \let\do\relax
-        \xdef\EmFi at fieldlist{%
-          \EmFi at fieldlist
-          \do{\EmFi at key}%
-        }%
-        \ifx\EmFi at type\EmFi at S@text
-          \kv at define@key{EmFi}{\EmFi at key.value}{%
-            \EmFi at itemtrue
-            \def\EmFi at temp{##1}%
-            \EmFi at convert\EmFi at temp\EmFi at temp
-            \expandafter\def\csname EmFi at V@#1%
-            \expandafter\endcsname\expandafter{%
-              \expandafter(\EmFi at temp)%
-            }%
-          }%
-          \EmFi at GlobalKey{EmFi}{\EmFi at key.value}%
-        \else\ifx\EmFi at type\EmFi at S@date
-          \kv at define@key{EmFi}{\EmFi at key.value}{%
-            \EmFi at itemtrue
-            \def\EmFi at temp{##1}%
-            \EmFi at convert\EmFi at temp\EmFi at temp
-            \expandafter\def\csname EmFi at V@#1%
-            \expandafter\endcsname\expandafter{%
-              \expandafter(\EmFi at temp)%
-            }%
-          }%
-          \EmFi at GlobalKey{EmFi}{\EmFi at key.value}%
-        \else\ifx\EmFi at type\EmFi at S@number
-          \kv at define@key{EmFi}{\EmFi at key.value}{%
-            \EmFi at itemtrue
-            \expandafter\EdefSanitize\csname EmFi at V@#1\endcsname{ ##1}%
-          }%
-          \EmFi at GlobalKey{EmFi}{\EmFi at key.value}%
-        \fi\fi\fi
-        \kv at define@key{EmFi}{\EmFi at key.prefix}{%
-          \EmFi at itemtrue
-          \expandafter\def\csname EmFi at P@#1\endcsname{##1}%
-        }%
-        \EmFi at GlobalKey{EmFi}{\EmFi at key.prefix}%
-        \kv at define@key{EmFiSo}{\EmFi at key}[ascending]{%
-          \EdefSanitize\EmFi at temp{##1}%
-          \ifx\EmFi at temp\EmFi at S@ascending
-            \def\EmFi at temp{true}%
-          \else\ifx\EmFi at temp\EmFi at S@descending
-            \def\EmFi at temp{false}%
-          \else
-            \def\EmFi at temp{}%
-            \EmFi at Error{%
-              Unknown sort order `\EmFi at temp'.\MessageBreak
-              Supported values: `\EmFi at S@ascending', %
-              `\EmFi at S@descending
-            }\@ehc
-          \fi\fi
-          \ifx\EmFi at temp\ltx at empty
-          \else
-            \xdef\EmFi at sortkeys{%
-              \EmFi at sortkeys
-              /\pdf at escapename{#1}%
-            }%
-            \ifx\EmFi at sortorders\ltx at empty
-              \global\let\EmFi at sortorders\EmFi at temp
-              \gdef\EmFi at sortcase{1}%
-            \else
-              \xdef\EmFi at sortorders{%
-                \EmFi at sortorders
-                \ltx at space
-                \EmFi at temp
-              }%
-              \xdef\EmFi at sortcase{2}%
-            \fi
-          \fi
-        }%
-        \EmFi at GlobalDefaultKey{EmFiSo}\EmFi at key
-      \endgroup
-    \else
-      \EmFi at Error{%
-        Field `\EmFi at key' is already defined%
-      }\@ehc
-    \fi
-  \fi
-}
-\kv at define@key{EmFiFi}{type}{%
-  \EdefSanitize\EmFi at temp{#1}%
-  \ifx\EmFi at temp\EmFi at S@text
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@date
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@number
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@file
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@desc
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@moddate
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@creationdate
-    \let\EmFi at type\EmFi at temp
-  \else\ifx\EmFi at temp\EmFi at S@size
-    \let\EmFi at type\EmFi at temp
-  \else
-    \EmFi at Error{%
-      Unknown type `\EmFi at temp'.\MessageBreak
-      Supported types: `text', `date', `number', `file',\MessageBreak
-      `desc', `moddate', `creationdate', `size'%
-    }%
-  \fi\fi\fi\fi\fi\fi\fi\fi
-}
-\kv at define@key{EmFiFi}{title}{%
-  \def\EmFi at title{#1}%
-}
-\def\EmFi at setboolean#1#2{%
-  \EdefSanitize\EmFi at temp{#2}%
-  \ifx\EmFi at temp\EmFi at S@true
-    \csname EmFi@#1true\endcsname
-  \else
-    \ifx\EmFi at temp\EmFi at S@false
-      \csname EmFi@#1false\endcsname
-    \else
-      \EmFi at Error{%
-        Unknown value `\EmFi at temp' for key `#1'.\MessageBreak
-        Supported values: `true', `false'%
-      }\@ehc
-    \fi
-  \fi
-}
-\kv at define@key{EmFiFi}{visible}[true]{%
-  \EmFi at setboolean{visible}{#1}%
-}
-\kv at define@key{EmFiFi}{edit}[true]{%
-  \EmFi at setboolean{edit}{#1}%
-}
-\def\EmFi at sortkeys{}
-\def\EmFi at sortorders{}
-\def\embedfilesort{%
-  \kvsetkeys{EmFiSo}%
-}
-\def\embedfile{%
-  \ltx at ifnextchar[\EmFi at embedfile{\EmFi at embedfile[]}%
-}
-\def\EmFi at embedfile[#1]#2{%
-  \ifEmFi at finished
-    \EmFi at Error{%
-      \string\embedfile\ltx at space after \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \begingroup
-      \def\EmFi at file{#2}%
-      \kvsetkeys{EmFi}{#1}%
-      \expandafter\expandafter\expandafter
-      \ifx\expandafter\expandafter\expandafter
-          \\\pdf at filesize{\EmFi at file}\\%
-        \EmFi at Error{%
-          File `\EmFi at file' not found%
-        }{%
-          The unknown file is not embedded.%
-        }%
-      \else
-        \edef\EmFi@@filespec{%
-          \pdf at escapestring{\EmFi at filespec}%
-        }%
-        \ifx\EmFi at ucfilespec\ltx at empty
-          \let\EmFi@@ucfilespec\ltx at empty
-        \else
-          \EmFi at convert\EmFi at ucfilespec\EmFi@@ucfilespec
-        \fi
-        \ifx\EmFi at desc\ltx at empty
-          \let\EmFi@@desc\ltx at empty
-        \else
-          \EmFi at convert\EmFi at desc\EmFi@@desc
-        \fi
-        \ifEmFi at item
-          \let\do\EmFi at do
-          \immediate\pdfobj{%
-            <<%
-              \EmFi at fieldlist
-            >>%
-          }%
-          \edef\EmFi at ci{\the\pdflastobj}%
-        \fi
-        \immediate\pdfobj stream attr{%
-          /Type/EmbeddedFile%
-          \ifx\EmFi at mimetype\ltx at empty
-          \else
-            /Subtype/\pdf at escapename{\EmFi at mimetype}%
-          \fi
-          /Params<<%
-            /ModDate(\pdf at filemoddate{\EmFi at file})%
-            /Size \pdf at filesize{\EmFi at file}%
-            /CheckSum<\pdf at filemdfivesum{\EmFi at file}>%
-          >>%
-        }file{\EmFi at file}\relax
-        \EmFi at defobj{EmbeddedFile}%
-        \immediate\pdfobj{%
-          <<%
-            /Type/Filespec%
-            \ifx\EmFi at filesystem\ltx at empty
-            \else
-            /FS/\pdf at escapename{\EmFi at filesystem}%
-            \fi
-            /F(\EmFi@@filespec)%
-            \ifx\EmFi@@ucfilespec\ltx at empty
-            \else
-              /UF(\EmFi@@ucfilespec)%
-            \fi
-            \ifx\EmFi@@desc\ltx at empty
-            \else
-              /Desc(\EmFi@@desc)%
-            \fi
-            /EF<<%
-              /F \the\pdflastobj\ltx at space 0 R%
-            >>%
-            \ifEmFi at item
-              /CI \EmFi at ci\ltx at space 0 R%
-            \fi
-          >>%
-        }%
-        \EmFi at defobj{Filespec}%
-        \EmFi at add{%
-          \EmFi@@filespec
-        }{\the\pdflastobj\ltx at space 0 R}%
-      \fi
-    \endgroup
-  \fi
-}
-\def\EmFi at do#1{%
-  \expandafter\ifx\csname EmFi at P@#1\endcsname\relax
-    \expandafter\ifx\csname EmFi at V@#1\endcsname\relax
-    \else
-      /\pdf at escapename{#1}\csname EmFi at V@#1\endcsname
-    \fi
-  \else
-    /\pdf at escapename{#1}<<%
-      \expandafter\ifx\csname EmFi at V@#1\endcsname\relax
-      \else
-        /D\csname EmFi at V@#1\endcsname
-      \fi
-      /P(\csname EmFi at P@#1\endcsname)%
-    >>%
-  \fi
-}
-\def\EmFi at convert#1#2{%
-  \ifnum\pdf at strcmp{\EmFi at stringmethod}{psd}=0 %
-    \pdfstringdef\EmFi at temp{#1}%
-    \let#2\EmFi at temp
-  \else
-    \edef#2{\pdf at escapestring{#1}}%
-  \fi
-}
-\global\let\EmFi at list\ltx at empty
-\def\EmFi at add#1#2{%
-  \begingroup
-    \ifx\EmFi at list\ltx at empty
-      \xdef\EmFi at list{\noexpand\do{#1}{#2}}%
-    \else
-      \def\do##1##2{%
-        \ifnum\pdf at strcmp{##1}{#1}>0 %
-          \edef\x{%
-            \toks@{%
-              \the\toks@%
-              \noexpand\do{#1}{#2}%
-              \noexpand\do{##1}{##2}%
-            }%
-          }%
-          \x
-          \def\do####1####2{%
-            \toks@\expandafter{\the\toks@\do{####1}{####2}}%
-          }%
-          \def\stop{%
-            \xdef\EmFi at list{\the\toks@}%
-          }%
-        \else
-          \toks@\expandafter{\the\toks@\do{##1}{##2}}%
-        \fi
-      }%
-      \def\stop{%
-        \xdef\EmFi at list{\the\toks@\noexpand\do{#1}{#2}}%
-      }%
-      \toks@{}%
-      \EmFi at list\stop
-    \fi
-  \endgroup
-}
-\def\embedfilefinish{%
-  \ifEmFi at finished
-    \EmFi at Error{%
-      Too many invocations of \string\embedfilefinish
-    }{%
-      The list of embedded files is already written.%
-    }%
-  \else
-    \ifx\EmFi at list\ltx at empty
-    \else
-      \global\EmFi at finishedtrue
-      \begingroup
-        \def\do##1##2{%
-          (##1)##2%
-        }%
-        \immediate\pdfobj{%
-          <<%
-            /Names[\EmFi at list]%
-          >>%
-        }%
-        \pdfnames{%
-          /EmbeddedFiles \the\pdflastobj\ltx at space 0 R%
-        }%
-      \endgroup
-      \ifx\EmFi at initialfile\ltx at empty
-      \else
-        \EmFi at collectiontrue
-      \fi
-      \ifEmFi at collection
-        \ifx\EmFi at initialfile\ltx at empty
-          \let\EmFi@@initialfile\ltx at empty
-        \else
-          \edef\EmFi@@initialfile{%
-            \pdf at escapestring{\EmFi at initialfile}%
-          }%
-        \fi
-        \begingroup
-          \let\f=N%
-          \def\do##1##2{%
-            \def\x{##1}%
-            \ifx\x\EmFi@@initialfile
-              \let\f=Y%
-              \let\do\ltx at gobbletwo
-            \fi
-          }%
-          \EmFi at list
-        \expandafter\endgroup
-        \ifx\f Y%
-        \else
-          \@PackageWarningNoLine{embedfile}{%
-            Missing initial file `\EmFi at initialfile'\MessageBreak
-            among the embedded files%
-          }%
-          \let\EmFi at initialfile\ltx at empty
-          \let\EmFi@@initialfile\ltx at empty
-        \fi
-        \ifcase\EmFi at sortcase
-          \def\EmFi at temp{}%
-        \or
-          \def\EmFi at temp{%
-            /S\EmFi at sortkeys
-            /A \EmFi at sortorders
-          }%
-        \else
-          \def\EmFi at temp{%
-            /S[\EmFi at sortkeys]%
-            /A[\EmFi at sortorders]%
-          }%
-        \fi
-        \def\EmFi@@order##1{%
-          \ifnum\EmFi at order>1 %
-            /O ##1%
-          \fi
-        }%
-        \immediate\pdfobj{%
-          <<%
-            \ifx\EmFi at schema\ltx at empty
-            \else
-              /Schema<<\EmFi at schema>>%
-            \fi
-            \ifx\EmFi@@initialfile\ltx at empty
-            \else
-              /D(\EmFi@@initialfile)%
-            \fi
-            \ifx\EmFi at view\EmFi at S@tile
-              /View/T%
-            \else\ifx\EmFi at view\EmFi at S@hidden
-              /View/H%
-            \fi\fi
-            \ifx\EmFi at temp\ltx at empty
-              \EmFi at temp
-            \else
-              /Sort<<\EmFi at temp>>%
-            \fi
-          >>%
-        }%
-        \pdfcatalog{%
-          /Collection \the\pdflastobj\ltx at space0 R%
-        }%
-      \fi
-    \fi
-  \fi
-}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname AtEndDocument\endcsname\relax
-\else
-  \AtEndDocument{\embedfilefinish}%
-\fi
-\EmFi at AtEnd%
-\endinput
-%%
-%% End of file `embedfile.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/engord.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/engord.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/engord.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -268,6 +268,7 @@
   \fi
 }
 \EO at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `engord.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/eolgrab.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/eolgrab.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/eolgrab.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -222,6 +222,7 @@
   }%
 }%
 \eolgrab at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `eolgrab.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -286,6 +286,7 @@
   \fi
 \fi
 \etexcmds at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `etexcmds.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/fibnum.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/fibnum.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/fibnum.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -312,6 +312,7 @@
   \fi
 }
 \FibNum at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `fibnum.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -307,6 +307,7 @@
   }%
 }
 \GTS at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `gettitlestring.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/hologo.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/hologo.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/hologo.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -2366,6 +2366,7 @@
   }%
 }
 \HOLOGO at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `hologo.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/hyphsubst.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/hyphsubst.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/hyphsubst.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -226,6 +226,7 @@
 }
 \ProcessOptions*\relax
 \HyphSubst at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `hyphsubst.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/iflang.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/iflang.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/iflang.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -321,6 +321,7 @@
   }%
 \fi
 \IfLang at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `iflang.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/infwarerr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/infwarerr.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/infwarerr.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,326 +0,0 @@
-%%
-%% This is file `infwarerr.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% infwarerr.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: infwarerr
-%% Version: 2016/05/16 v1.4
-%% 
-%% Copyright (C)
-%%    2007, 2010 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file infwarerr.dtx
-%% and the derived files
-%%    infwarerr.sty, infwarerr.pdf, infwarerr.ins, infwarerr.drv,
-%%    infwarerr-test1.tex, infwarerr-test2.tex,
-%%    infwarerr-test3.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at infwarerr.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{infwarerr}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at infwarerr.sty\endcsname
-\ProvidesPackage{infwarerr}%
-  [2016/05/16 v1.4 Providing info/warning/error messages (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname InfWarErr at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\InfWarErr at AtEnd{%
-    \InfWarErr at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{10}{12}% ^^J
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{94}{7}% ^
-\edef\InfWarErr at AtEnd{\InfWarErr at AtEnd\noexpand\endinput}
-\begingroup
-  \let\x=Y%
-  \def\check#1{%
-    \@check{Generic}{#1}%
-    \@check{Package}{#1}%
-    \@check{Class}{#1}%
-  }%
-  \def\@check#1#2{%
-    \expandafter\ifx\csname #1#2\endcsname\relax
-      \let\x=N%
-    \fi
-  }%
-  \check{Info}%
-  \check{Warning}%
-  \check{Error}%
-  \@check{Package}{WarningNoLine}%
-  \@check{Class}{WarningNoLine}%
-  \@check{}{@ehc}%
-  \@check{}{@ehd}%
-\expandafter\endgroup
-\ifx\x Y%
-  \let\@PackageInfo\PackageInfo
-  \def\@PackageInfoNoLine#1#2{%
-    \PackageInfo{#1}{#2\@gobble}%
-  }%
-  \let\@ClassInfo\ClassInfo
-  \def\@ClassInfoNoLine#1#2{%
-    \ClassInfo{#1}{#2\@gobble}%
-  }%
-  \let\@PackageWarning\PackageWarning
-  \let\@PackageWarningNoLine\PackageWarningNoLine
-  \let\@ClassWarning\ClassWarning
-  \let\@ClassWarningNoLine\ClassWarningNoLine
-  \let\@PackageError\PackageError
-  \let\@ClassError\ClassError
-  \expandafter\InfWarErr at AtEnd
-\fi%
-\begingroup\expandafter\endgroup
-\ifcase\expandafter\ifx\csname inputlineno\endcsname\relax
-         0 %
-       \else
-         \ifnum\inputlineno<0 %
-           0 %
-         \else
-           1 %
-         \fi
-       \fi
-  \def\InfWarErr at online{}%
-\else
-  \def\InfWarErr at online{ on input line \the\inputlineno}%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
-  \def\InfWarErr at protected{}%
-\else
-  \let\InfWarErr at protected\protected
-\fi
-\chardef\InfWarErr at unused=16 %
-\def\InfWarErr at ehc{%
-  Try typing \space <return> \space to proceed.\MessageBreak
-  If that doesn't work, type \space X <return> \space to quit.%
-}
-\def\InfWarErr at ehd{%
-  You're in trouble here. \space\@ehc
-}
-\InfWarErr at protected\def\InfWarErr at GenericInfo#1#2{%
-  \begingroup
-    \let\on at line\InfWarErr at online
-    \long\def\@gobble##1{}%
-    \def\space{ }%
-    \def\@spaces{\space\space\space\space}%
-    \def\MessageBreak{^^J#1}%
-    \newlinechar=10 %
-    \escapechar=92 %
-    \immediate\write-1{#2\on at line.}%
-  \endgroup
-}
-\InfWarErr at protected\def\InfWarErr at GenericWarning#1#2{%
-  \begingroup
-    \let\on at line\InfWarErr at online
-    \long\def\@gobble##1{}%
-    \def\space{ }%
-    \def\@spaces{\space\space\space\space}%
-    \def\MessageBreak{^^J#1}%
-    \newlinechar=10 %
-    \escapechar=92 %
-    \immediate\write\InfWarErr at unused{^^J#2\on at line.^^J}%
-  \endgroup
-}
-\InfWarErr at protected\def\InfWarErr at GenericError#1#2#3#4{%
-  \begingroup
-    \immediate\write\InfWarErr at unused{}%
-    \def\space{ }%
-    \def\@spaces{\space\space\space\space}%
-    \let\@ehc\InfWarErr at ehc
-    \let\@ehd\InfWarErr at ehd
-    \let\on at line\InfWarErr at online
-    \def\MessageBreak{^^J}%
-    \newlinechar=10 %
-    \escapechar=92 %
-    \edef\InfWarErr at help{\noexpand\errhelp{#4}}%
-    \InfWarErr at help
-    \def\MessageBreak{^^J#1}%
-    \errmessage{%
-      #2.^^J^^J%
-      #3^^J%
-      Type \space H <return> \space for immediate help.^^J ...^^J%
-    }%
-  \endgroup
-}
-\def\@PackageInfo#1#2{%
-  \InfWarErr at GenericInfo{%
-    (#1) \@spaces\@spaces\@spaces
-  }{%
-    Package #1 Info: #2%
-  }%
-}
-\def\@PackageInfoNoLine#1#2{%
-  \@PackageInfo{#1}{#2\@gobble}%
-}
-\def\@ClassInfo#1#2{%
-  \InfWarErr at GenericInfo{%
-    (#1) \space\space\@spaces\@spaces
-  }{%
-    Class #1 Info: #2%
-  }%
-}
-\def\@ClassInfoNoLine#1#2{%
-  \@ClassInfo{#1}{#2\@gobble}%
-}
-\def\@PackageWarning#1#2{%
-  \InfWarErr at GenericWarning{%
-    (#1)\@spaces\@spaces\@spaces\@spaces
-  }{%
-    Package #1 Warning: #2%
-  }%
-}
-\def\@PackageWarningNoLine#1#2{%
-  \@PackageWarning{#1}{#2\@gobble}%
-}
-\def\@ClassWarning#1#2{%
-  \InfWarErr at GenericWarning{%
-    (#1) \space\@spaces\@spaces\@spaces
-  }{%
-    Class #1 Warning: #2%
-  }%
-}
-\def\@ClassWarningNoLine#1#2{%
-  \@ClassWarning{#1}{#2\@gobble}%
-}
-\def\@PackageError#1#2#3{%
-  \InfWarErr at GenericError{%
-    (#1)\@spaces\@spaces\@spaces\@spaces
-  }{%
-    Package #1 Error: #2%
-  }{%
-    See the #1 package documentation for explanation.%
-  }{#3}%
-}
-\def\@ClassError#1#2#3{%
-  \InfWarErr at GenericError{%
-    (#1) \space\@spaces\@spaces\@spaces
-  }{%
-    Class #1 Error: #2%
-  }{%
-    See the #1 class documentation for explanation.%
-  }{#3}%
-}
-\InfWarErr at AtEnd%
-\endinput
-%%
-%% End of file `infwarerr.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1728,6 +1728,7 @@
 \long\def\@ReturnAfterFi#1\fi{\fi#1}%
 \long\def\@ReturnAfterElseFi#1\else#2\fi{\fi#1}%
 \InCa at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `intcalc.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -190,6 +190,7 @@
   \long\expandafter\def\csname KV@#1@#2\endcsname##1%
 }
 \KVD at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `kvdefinekeys.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -578,6 +578,7 @@
       \csname KVS at cmd\KVS at cmd\endcsname\expandafter
 }
 \KVS at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `kvsetkeys.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -746,6 +746,7 @@
   \ltx at IfBoxEmpty{#1}%
 }
 \LTXcmds at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `ltxcmds.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/mleftright.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/mleftright.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/mleftright.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,281 +0,0 @@
-%%
-%% This is file `mleftright.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% mleftright.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: mleftright
-%% Version: 2016/05/16 v1.1
-%% 
-%% Copyright (C)
-%%    2010 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file mleftright.dtx
-%% and the derived files
-%%    mleftright.sty, mleftright.pdf, mleftright.ins, mleftright.drv,
-%%    mleftright-test1.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at mleftright.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{mleftright}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at mleftright.sty\endcsname
-\ProvidesPackage{mleftright}%
-  [2016/05/16 v1.1 Math left/right delim. as open/close (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname mleftright at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\mleftright at AtEnd{%
-    \mleftright at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\mleftright at AtEnd{%
-  \mleftright at AtEnd
-  \escapechar\the\escapechar\relax
-  \noexpand\endinput
-}
-\escapechar=92 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input infwarerr.sty\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{infwarerr}[2010/04/08]%
-  \RequirePackage{ltxcmds}[2010/04/26]%
-\fi
-\let\mleftright at OrgLeft\left
-\let\mleftright at OrgRight\right
-\ltx at IfUndefined{protected}{%
-  \ltx at IfUndefined{DeclareRobustCommand}{%
-    \def\mleftright at Def{\def}%
-  }{%
-    \def\mleftright at Def{\DeclareRobustCommand*}%
-  }%
-}{%
-  \def\mleftright at Def{\protected\def}%
-}
-\edef\mleftright at Def#1{%
-  \noexpand\ltx at IfUndefined{%
-    \noexpand\expandafter\noexpand\ltx at gobble\noexpand\string#1%
-  }{%
-    \expandafter\noexpand\mleftright at Def#1%
-  }{%
-    \noexpand\@PackageError{mleftright}{%
-      Command \noexpand\string#1 already defined%
-    }\noexpand\@ehd
-    \noexpand\ltx at gobble
-  }%
-}
-\ltx at IfUndefined{currentgrouplevel}{%
-  \catcode38=14 % & = comment
-}{%
-  \catcode38=9 % & = ignore
-}
-& \def\mleftright at GroupLevel{-1}%
-& \def\mleftright at WrongGroup#1(#2){%
-&   \ifnum\mleftright at GroupLevel<\ltx at zero
-&     \@PackageError{mleftright}{%
-&       Missing previous \string\mleft
-&     }\@ehc
-&   \else
-&     \@PackageError{mleftright}{%
-&       Unexpected group status for \string\mright%
-&       \ifnum\mleftright at GroupLevel=#1 %
-&       \else
-&         .\MessageBreak
-&         Group level is #1, %
-&           expected is \mleftright at GroupLevel
-&       \fi
-&       \ifnum16=#2 %
-&       \else
-&         .\MessageBreak
-&         Group type is #2 (%
-&         \ifcase#2 %
-&           bottom level%
-&           \expandafter\expandafter\expandafter\ltx at gobblefour
-&           \expandafter\ltx at gobbletwo
-&         \or simple%
-&         \or hbox%
-&         \or adjusted hbox%
-&         \or vbox%
-&         \or vtop%
-&         \or align%
-&         \or no align%
-&         \or output%
-&         \or math%
-&         \or disc%
-&         \or insert%
-&         \or vcenter%
-&         \or math choice%
-&         \or semi simple%
-&         \or math shift%
-&         \or math left%
-&         \else
-&           unknown%
-&         \fi
-&         \space group),\MessageBreak
-&         expected is 16 (math left group)%
-&       \fi
-&     }\@ehd
-&   \fi
-& }%
-\mleftright at Def\mleft{%
-  \mathopen{}\mathclose\bgroup
-& \edef\mleftright at GroupLevel{\the\numexpr\the\currentgrouplevel+1}%
-  \mleftright at OrgLeft
-}
-\mleftright at Def\mright{%
-& \ifnum\mleftright at GroupLevel=\currentgrouplevel
-&   \ifnum16=\currentgrouptype
-      \aftergroup\egroup
-&   \else
-&     \expandafter\mleftright at WrongGroup
-&     \the\expandafter\currentgrouplevel
-&     \expandafter(\the\currentgrouptype)%
-&   \fi
-& \else
-&   \expandafter\mleftright at WrongGroup
-&   \the\expandafter\currentgrouplevel
-&   \expandafter(\the\currentgrouptype)%
-& \fi
-  \mleftright at OrgRight
-}
-\mleftright at Def\mleftright{%
-  \let\left\mleft
-  \let\right\mright
-}
-\mleftright at Def\mleftrightrestore{%
-  \ifx\left\mleft
-    \let\left\mleftright at OrgLeft
-  \fi
-  \ifx\right\mright
-    \let\right\mleftright at OrgRight
-  \fi
-}
-\mleftright at AtEnd%
-\endinput
-%%
-%% End of file `mleftright.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/pdfcol.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/pdfcol.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/pdfcol.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -333,6 +333,7 @@
   }%
 \fi
 \PDFCOL at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pdfcol.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -776,6 +776,7 @@
   }%
 \fi
 \PE at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pdfescape.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/pdfrender.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/pdfrender.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/pdfrender.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -796,6 +796,7 @@
   \fi
 }
 \PdfRender at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pdfrender.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/protecteddef.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/protecteddef.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/protecteddef.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -269,6 +269,7 @@
   }%
 }
 \ProDef at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `protecteddef.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/rotchiffre.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/rotchiffre.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/rotchiffre.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -316,6 +316,7 @@
   }%
 \fi
 \RotCh at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `rotchiffre.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -313,6 +313,7 @@
 }
 \ProcessOptions\relax
 \setouterhboxAtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `setouterhbox.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/soulutf8.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/soulutf8.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/soulutf8.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -691,6 +691,7 @@
 +   \SOUL at scan
 + }%
 \SOuL at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `soulutf8.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/telprint.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/telprint.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/telprint.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -249,6 +249,7 @@
 }
 \TELreset\let\TELreset=\UnDeFiNeD
 \TELAtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `telprint.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -600,6 +600,7 @@
   \thepdfnumber at ErrorInvalidToken
 }
 \ThPdNu at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `thepdfnumber.sty'.

Modified: trunk/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -236,6 +236,7 @@
 }
 \long\def\uqc at Call#1#2{#2{#1}}%
 \uqc at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `uniquecounter.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/atveryend.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/atveryend.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/atveryend.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -710,6 +710,7 @@
   }%
 \fi
 \AtVeryEnd at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `atveryend.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipdfm.def	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,191 +0,0 @@
-%%
-%% This is file `bkm-dvipdfm.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `dvipdfm')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipdfm.def}%
-  [2019/06/04 v1.27 bookmark driver for dvipdfm (HO)]%
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \def\BKM at abslevel{1}%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}\BKM at abslevel
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \BKM at CalcExpr\BKM at abslevel\BKM at x@abslevel+1%
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}\BKM at abslevel
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \csname HyPsd at XeTeXBigCharstrue\endcsname
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \edef\BKM at action{/Dest[@page1/Fit]}%
-                \else
-                  \ifx\BKM at view\@empty
-                    \def\BKM at view{Fit}%
-                  \fi
-                  \edef\BKM at action{/Dest[@page\BKM at page/\BKM at view]}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  /A<<%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >>%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{/A<<\BKM at rawaction>>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              /A<</S/Named/N/\BKM at named>>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{%
-            /A<<%
-              /S/GoTo%
-              /D(\BKM at dest)%
-            >>%
-          }%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{0}%
-          \else
-            \BKM at CalcExpr\BKM at page\BKM at page-1%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          /A<<%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \special{pdf:%
-        out \ifBKM at DvipdfmxOutlineOpen
-              [%
-              \ifBKM at open
-                \ifnum\BKM at level<%
-                    \expandafter\ltx at firstofone\expandafter
-                    {\number\BKM at openlevel} %
-                \else
-                  -%
-                \fi
-              \else
-                -%
-              \fi
-              ] %
-            \fi
-            \BKM at abslevel
-        <<%
-          /Title(\BKM at title)%
-          \ifx\BKM at color\@empty
-          \else
-            /C[\BKM at color]%
-          \fi
-          \ifnum\BKM at FLAGS>\z@
-            /F \BKM at FLAGS
-          \fi
-          \BKM at action
-        >>%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@abslevel{#3}%
-}
-\ifBKM at atend
-  \RequirePackage{atenddvi}%
-  \AtEndDvi{\BKM at EndHook}%
-\fi
-
-\endinput
-%%
-%% End of file `bkm-dvipdfm.def'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvips.def	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,358 +0,0 @@
-%%
-%% This is file `bkm-dvips.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `dvips,pdfmark')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvips.def}%
-  [2019/06/04 v1.27 bookmark driver for dvips (HO)]%
-\def\BKM at PSHeaderFile#1{%
-  \special{header=#1}%
-}
-\def\BKM at filename{\jobname.out.ps}
-\BKM at PSHeaderFile\BKM at filename
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM at pdfmark@out}
-\def\BKM at pdfmark@out{%
-  \if at filesw
-    \newwrite\BKM at file
-    \immediate\openout\BKM at file=\BKM at filename\relax
-    \BKM at write{\@percentchar!}%
-    \BKM at write{/pdfmark where{pop}}%
-    \BKM at write{%
-      {%
-        /globaldict where{pop globaldict}{userdict}ifelse%
-        /pdfmark/cleartomark load put%
-      }%
-    }%
-    \BKM at write{ifelse}%
-  \else
-    \let\BKM at write\@gobble
-    \let\BKM at DO@entry\@gobbletwo
-  \fi
-}
-\def\BKM at write#{%
-  \immediate\write\BKM at file
-}
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \def\BKM at DO@title{#2}%
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page 1%
-                  /View[/Fit]%
-                }%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page \BKM at DO@page
-                  /View[/\BKM at DO@view]%
-                }%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{%
-                /Action<<%
-                  /Subtype/URI%
-                  /URI(\BKM at DO@uri)%
-                >>%
-              }%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              /Action<<%
-                \BKM at DO@rawaction
-              >>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            /Action<<%
-              /Subtype/Named%
-              /N/\BKM at DO@named
-            >>%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Action/GoTo%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{1}%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{%
-          /Page \BKM at DO@page
-          /View[/\BKM at DO@view]%
-        }%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        /Action/GoToR%
-        /File(\BKM at DO@gotor)%
-        \BKM at action
-      }%
-    \fi
-    \BKM at write{[}%
-    \BKM at write{/Title(\BKM at DO@title)}%
-    \ifnum\BKM at x@childs>\z@
-      \BKM at write{/Count \ifBKM at DO@open\else-\fi\BKM at x@childs}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \BKM at write{\BKM at attr}%
-    \fi
-    \BKM at write{\BKM at action}%
-    \BKM at write{/OUT pdfmark}%
-  \endgroup
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at DO@}
-\DeclareStringOption[0]{id}
-\DeclareBoolOption{open}
-\DeclareStringOption{flags}
-\DeclareStringOption{color}
-\DeclareStringOption{dest}
-\DeclareStringOption{named}
-\DeclareStringOption{uri}
-\DeclareStringOption{gotor}
-\DeclareStringOption{page}
-\DeclareStringOption{view}
-\DeclareStringOption{rawaction}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-\AtBeginDocument{%
-  \let\BKM at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-
-\endinput
-%%
-%% End of file `bkm-dvips.def'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-dvipsone.def	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,358 +0,0 @@
-%%
-%% This is file `bkm-dvipsone.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `dvipsone,pdfmark')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipsone.def}%
-  [2019/06/04 v1.27 bookmark driver for dvipsone (HO)]%
-\def\BKM at PSHeaderFile#1{%
-  \special{header=#1}%
-}
-\def\BKM at filename{\jobname.out.ps}
-\BKM at PSHeaderFile\BKM at filename
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM at pdfmark@out}
-\def\BKM at pdfmark@out{%
-  \if at filesw
-    \newwrite\BKM at file
-    \immediate\openout\BKM at file=\BKM at filename\relax
-    \BKM at write{\@percentchar!}%
-    \BKM at write{/pdfmark where{pop}}%
-    \BKM at write{%
-      {%
-        /globaldict where{pop globaldict}{userdict}ifelse%
-        /pdfmark/cleartomark load put%
-      }%
-    }%
-    \BKM at write{ifelse}%
-  \else
-    \let\BKM at write\@gobble
-    \let\BKM at DO@entry\@gobbletwo
-  \fi
-}
-\def\BKM at write#{%
-  \immediate\write\BKM at file
-}
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \def\BKM at DO@title{#2}%
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page 1%
-                  /View[/Fit]%
-                }%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page \BKM at DO@page
-                  /View[/\BKM at DO@view]%
-                }%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{%
-                /Action<<%
-                  /Subtype/URI%
-                  /URI(\BKM at DO@uri)%
-                >>%
-              }%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              /Action<<%
-                \BKM at DO@rawaction
-              >>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            /Action<<%
-              /Subtype/Named%
-              /N/\BKM at DO@named
-            >>%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Action/GoTo%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{1}%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{%
-          /Page \BKM at DO@page
-          /View[/\BKM at DO@view]%
-        }%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        /Action/GoToR%
-        /File(\BKM at DO@gotor)%
-        \BKM at action
-      }%
-    \fi
-    \BKM at write{[}%
-    \BKM at write{/Title(\BKM at DO@title)}%
-    \ifnum\BKM at x@childs>\z@
-      \BKM at write{/Count \ifBKM at DO@open\else-\fi\BKM at x@childs}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \BKM at write{\BKM at attr}%
-    \fi
-    \BKM at write{\BKM at action}%
-    \BKM at write{/OUT pdfmark}%
-  \endgroup
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at DO@}
-\DeclareStringOption[0]{id}
-\DeclareBoolOption{open}
-\DeclareStringOption{flags}
-\DeclareStringOption{color}
-\DeclareStringOption{dest}
-\DeclareStringOption{named}
-\DeclareStringOption{uri}
-\DeclareStringOption{gotor}
-\DeclareStringOption{page}
-\DeclareStringOption{view}
-\DeclareStringOption{rawaction}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-\AtBeginDocument{%
-  \let\BKM at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-
-\endinput
-%%
-%% End of file `bkm-dvipsone.def'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-pdftex.def	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,313 +0,0 @@
-%%
-%% This is file `bkm-pdftex.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `pdftex')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-pdftex.def}%
-  [2019/06/04 v1.27 bookmark driver for pdfTeX (HO)]%
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \def\BKM at DO@title{#2}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \edef\BKM at attr{attr{\BKM at attr}}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{goto page1{/Fit}}%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{goto page\BKM at DO@page{/\BKM at DO@view}}%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{user{<</S/URI/URI(\BKM at DO@uri)>>}}%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              user{%
-                <<%
-                  \BKM at DO@rawaction
-                >>%
-              }%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            user{<</S/Named/N/\BKM at DO@named>>}%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at DefGotoNameAction\BKM at action\BKM at DO@dest
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{0}%
-        \else
-          \BKM at CalcExpr\BKM at DO@page\BKM at DO@page-1%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{/D[\BKM at DO@page/\BKM at DO@view]}%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{/D(\BKM at DO@dest)}%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        user{%
-          <<%
-            /S/GoToR%
-            /F(\BKM at DO@gotor)%
-            \BKM at action
-          >>%
-        }%
-      }%
-    \fi
-    \pdfoutline\BKM at attr\BKM at action
-                count\ifBKM at DO@open\else-\fi\BKM at x@childs
-                {\BKM at DO@title}%
-  \endgroup
-}
-\def\BKM at DefGotoNameAction#1#2{%
-  \BKM at EscapeString\BKM at DO@dest
-  \edef#1{goto name{#2}}%
-}
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at DO@}
-\DeclareStringOption[0]{id}
-\DeclareBoolOption{open}
-\DeclareStringOption{flags}
-\DeclareStringOption{color}
-\DeclareStringOption{dest}
-\DeclareStringOption{named}
-\DeclareStringOption{uri}
-\DeclareStringOption{gotor}
-\DeclareStringOption{page}
-\DeclareStringOption{view}
-\DeclareStringOption{rawaction}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-\AtBeginDocument{%
-  \let\BKM at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-
-\endinput
-%%
-%% End of file `bkm-pdftex.def'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-textures.def	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,358 +0,0 @@
-%%
-%% This is file `bkm-textures.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `textures,pdfmark')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-textures.def}%
-  [2019/06/04 v1.27 bookmark driver for textures (HO)]%
-\def\BKM at PSHeaderFile#1{%
-  \special{prePostScriptfile #1}%
-}
-\def\BKM at filename{\jobname.out.ps}
-\BKM at PSHeaderFile\BKM at filename
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM at pdfmark@out}
-\def\BKM at pdfmark@out{%
-  \if at filesw
-    \newwrite\BKM at file
-    \immediate\openout\BKM at file=\BKM at filename\relax
-    \BKM at write{\@percentchar!}%
-    \BKM at write{/pdfmark where{pop}}%
-    \BKM at write{%
-      {%
-        /globaldict where{pop globaldict}{userdict}ifelse%
-        /pdfmark/cleartomark load put%
-      }%
-    }%
-    \BKM at write{ifelse}%
-  \else
-    \let\BKM at write\@gobble
-    \let\BKM at DO@entry\@gobbletwo
-  \fi
-}
-\def\BKM at write#{%
-  \immediate\write\BKM at file
-}
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \def\BKM at DO@title{#2}%
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page 1%
-                  /View[/Fit]%
-                }%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page \BKM at DO@page
-                  /View[/\BKM at DO@view]%
-                }%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{%
-                /Action<<%
-                  /Subtype/URI%
-                  /URI(\BKM at DO@uri)%
-                >>%
-              }%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              /Action<<%
-                \BKM at DO@rawaction
-              >>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            /Action<<%
-              /Subtype/Named%
-              /N/\BKM at DO@named
-            >>%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Action/GoTo%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{1}%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{%
-          /Page \BKM at DO@page
-          /View[/\BKM at DO@view]%
-        }%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        /Action/GoToR%
-        /File(\BKM at DO@gotor)%
-        \BKM at action
-      }%
-    \fi
-    \BKM at write{[}%
-    \BKM at write{/Title(\BKM at DO@title)}%
-    \ifnum\BKM at x@childs>\z@
-      \BKM at write{/Count \ifBKM at DO@open\else-\fi\BKM at x@childs}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \BKM at write{\BKM at attr}%
-    \fi
-    \BKM at write{\BKM at action}%
-    \BKM at write{/OUT pdfmark}%
-  \endgroup
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at DO@}
-\DeclareStringOption[0]{id}
-\DeclareBoolOption{open}
-\DeclareStringOption{flags}
-\DeclareStringOption{color}
-\DeclareStringOption{dest}
-\DeclareStringOption{named}
-\DeclareStringOption{uri}
-\DeclareStringOption{gotor}
-\DeclareStringOption{page}
-\DeclareStringOption{view}
-\DeclareStringOption{rawaction}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-\AtBeginDocument{%
-  \let\BKM at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-
-\endinput
-%%
-%% End of file `bkm-textures.def'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/bkm-vtex.def	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,300 +0,0 @@
-%%
-%% This is file `bkm-vtex.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `vtex')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-vtex.def}%
-  [2019/06/04 v1.27 bookmark driver for VTeX (HO)]%
-\ifvtexpdf
-\else
-  \PackageWarningNoLine{bookmark}{%
-    The VTeX driver only supports PDF mode%
-  }%
-\fi
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{00}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \def\BKM at parent{0}%
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \let\BKM at parent\BKM at prev
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}%
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \BKM at vtex@title
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \def\BKM at action{!1}%
-                \else
-                  \edef\BKM at action{!\BKM at page}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  <u=%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{<u=\BKM at rawaction>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              <u=%
-                /S/Named%
-                /N/\BKM at named
-              >%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{\BKM at dest}%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{1}%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          <u=%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \ifx\BKM at color\@empty
-        \let\BKM at RGBcolor\@empty
-      \else
-        \expandafter\BKM at toRGB\BKM at color\@nil
-      \fi
-      \special{%
-        !outline \BKM at action;%
-        p=\BKM at parent,%
-        i=\number\BKM at id,%
-        s=%
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              o%
-            \else
-              c%
-            \fi
-          \else
-            c%
-          \fi,%
-        \ifx\BKM at RGBcolor\@empty
-        \else
-          c=\BKM at RGBcolor,%
-        \fi
-        \ifnum\BKM at FLAGS>\z@
-          f=\BKM at FLAGS,%
-        \fi
-        t=\BKM at title
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-}
-\def\BKM at toRGB#1 #2 #3\@nil{%
-  \let\BKM at RGBcolor\@empty
-  \BKM at toRGBComponent{#1}%
-  \BKM at toRGBComponent{#2}%
-  \BKM at toRGBComponent{#3}%
-}
-\def\BKM at toRGBComponent#1{%
-  \dimen@=#1pt\relax
-  \ifdim\dimen@>\z@
-    \ifdim\dimen@<\p@
-      \dimen@=255\dimen@
-      \advance\dimen@ by 32768sp\relax
-      \divide\dimen@ by 65536\relax
-      \dimen at ii=\dimen@
-      \divide\dimen at ii by 16\relax
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen at ii
-      }%
-      \dimen at ii=16\dimen at ii
-      \advance\dimen at -\dimen at ii
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen@
-      }%
-    \else
-      \edef\BKM at RGBcolor{\BKM at RGBcolor FF}%
-    \fi
-  \else
-    \edef\BKM at RGBcolor{\BKM at RGBcolor00}%
-  \fi
-}
-\def\BKM at toHexDigit#1{%
-  \ifcase\expandafter\@firstofone\expandafter{\number#1} %
-    0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
-    8\or 9\or A\or B\or C\or D\or E\or F%
-  \fi
-}
-\begingroup
-  \catcode`\|=0 %
-  \catcode`\\=12 %
-  |gdef|BKM at vtex@title{%
-    |@onelevel at sanitize|BKM at title
-    |edef|BKM at title{|expandafter|BKM at vtex@leftparen|BKM at title\(|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@rightparen|BKM at title\)|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@zero|BKM at title\0|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@one|BKM at title\1|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@two|BKM at title\2|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@three|BKM at title\3|@nil}%
-  }%
-  |gdef|BKM at vtex@leftparen#1\(#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      (%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@leftparen#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@rightparen#1\)#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      )%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@rightparen#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@zero#1\0#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char0%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@zero#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@one#1\1#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char1%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@one#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@two#1\2#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char2%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@two#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@three#1\3#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char3%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@three#2|@nil
-      }%
-    |fi
-  }%
-|endgroup
-\ifBKM at atend
-  \RequirePackage{atenddvi}%
-  \AtEndDvi{\BKM at EndHook}%
-\fi
-
-\endinput
-%%
-%% End of file `bkm-vtex.def'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/bookmark.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,772 +0,0 @@
-%%
-%% This is file `bookmark.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2019/06/04 v1.27
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file bookmark.dtx
-%% and the derived files
-%%    bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%%    bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%%    bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-%%    bookmark-example.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bookmark}%
-  [2019/06/04 v1.27 PDF bookmarks (HO)]%
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-  \def\BKM at CalcExpr#1#2#3#4{%
-    \begingroup
-      \count@=#2\relax
-      \advance\count@ by#3#4\relax
-      \edef\x{\endgroup
-        \def\noexpand#1{\the\count@}%
-      }%
-    \x
-  }%
-\else
-  \def\BKM at CalcExpr#1#2#3#4{%
-    \edef#1{%
-      \the\numexpr#2#3#4\relax
-    }%
-  }%
-\fi
-\RequirePackage{pdfescape}[2007/03/20]
-\def\BKM at EscapeName#1{%
-  \ifx#1\@empty
-  \else
-    \EdefEscapeName#1#1%
-  \fi
-}%
-\def\BKM at EscapeString#1{%
-  \ifx#1\@empty
-  \else
-    \EdefEscapeString#1#1%
-  \fi
-}%
-\def\BKM at EscapeHex#1{%
-  \ifx#1\@empty
-  \else
-    \EdefEscapeHex#1#1%
-  \fi
-}%
-\def\BKM at UnescapeHex#1{%
-  \EdefUnescapeHex#1#1%
-}%
-\RequirePackage{ifpdf}[2009/04/10]
-\RequirePackage{ifxetex}
-\RequirePackage{ifvtex}[2008/11/04]
-\RequirePackage{ifluatex}[2010/03/01]
-\RequirePackage{pdftexcmds}[2010/11/04]
-\RequirePackage{hyperref}[2010/06/18]
-\RequirePackage{auxhook}[2007/04/06]
-\RequirePackage{kvsetkeys}[2010/03/01]
-\RequirePackage{kvoptions}[2009/08/13]
-\RequirePackage{hycolor}[2008/09/08]
-\RequirePackage{bitset}[2011/01/30]
-\RequirePackage{ltxcmds}[2011/04/14]
-\SetupKeyvalOptions{family=BKM,prefix=BKM@}
-\DeclareLocalOptions{%
-  atend,%
-  bold,%
-  color,%
-  depth,%
-  dest,%
-  draft,%
-  final,%
-  gotor,%
-  italic,%
-  keeplevel,%
-  level,%
-  named,%
-  numbered,%
-  open,%
-  openlevel,%
-  page,%
-  rawaction,%
-  rellevel,%
-  srcfile,%
-  srcline,%
-  startatroot,%
-  uri,%
-  view,%
-}
-\newcommand*{\bookmarksetup}{\kvsetkeys{BKM}}
-\def\BKM at setup#1{%
-  \bookmarksetup{#1}%
-  \ifx\BKM at HookNext\ltx at empty
-  \else
-    \expandafter\bookmarksetup\expandafter{\BKM at HookNext}%
-    \BKM at HookNextClear
-  \fi
-  \BKM at hook
-  \ifBKM at keeplevel
-  \else
-    \xdef\BKM at currentlevel{\BKM at level}%
-  \fi
-}
-\newcommand*{\bookmarksetupnext}[1]{%
-  \ltx at GlobalAppendToMacro\BKM at HookNext{,#1}%
-}
-\def\BKM at HookNextClear{%
-  \global\let\BKM at HookNext\ltx at empty
-}
-\BKM at HookNextClear
-\DeclareBoolOption{draft}
-\DeclareComplementaryOption{final}{draft}
-\def\BKM at DisableOptions{%
-  \DisableKeyvalOption[action=warning,package=bookmark]%
-      {BKM}{draft}%
-  \DisableKeyvalOption[action=warning,package=bookmark]%
-      {BKM}{final}%
-}
-\DeclareBoolOption[\ifHy at bookmarksopen true\else false\fi]{open}
-\def\bookmark at open{%
-  \ifBKM at open\ltx at one\else\ltx at zero\fi
-}
-\DeclareStringOption[\maxdimen]{openlevel}
-\edef\BKM at openlevel{\number\@bookmarksopenlevel}
-\ltx at IfUndefined{Hy at bookmarksdepth}{%
-  \def\BKM at depth{\c at tocdepth}%
-}{%
-  \let\BKM at depth\Hy at bookmarksdepth
-}
-\define at key{BKM}{depth}[]{%
-  \edef\BKM at param{#1}%
-  \ifx\BKM at param\@empty
-    \def\BKM at depth{\c at tocdepth}%
-  \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
-      \@onelevel at sanitize\BKM at param
-      \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
-      \ifcase 0\expandafter\ifx\BKM at temp-1\fi
-              \expandafter\ifnum\expandafter`\BKM at temp>47 %
-                \expandafter\ifnum\expandafter`\BKM at temp<58 %
-                  1%
-                \fi
-              \fi
-              \relax
-        \PackageWarning{bookmark}{%
-          Unknown document division name (\BKM at param)\MessageBreak
-          for option `depth'%
-        }%
-      \else
-        \BKM at SetDepthOrLevel\BKM at depth\BKM at param
-      \fi
-    }{%
-      \BKM at SetDepthOrLevel\BKM at depth{%
-        \csname toclevel@\BKM at param\endcsname
-      }%
-    }%
-  \fi
-}
-\def\bookmark at depth{\BKM at depth}
-\def\BKM at SetDepthOrLevel#1#2{%
-  \begingroup
-    \setbox\z@=\hbox{%
-      \count@=#2\relax
-      \expandafter
-    }%
-  \expandafter\endgroup
-  \expandafter\def\expandafter#1\expandafter{\the\count@}%
-}
-\DeclareStringOption[\BKM at currentlevel]{level}[\BKM at currentlevel]
-\define at key{BKM}{level}{%
-  \edef\BKM at param{#1}%
-  \ifx\BKM at param\BKM at MacroCurrentLevel
-    \let\BKM at level\BKM at param
-  \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
-      \@onelevel at sanitize\BKM at param
-      \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
-      \ifcase 0\expandafter\ifx\BKM at temp-1\fi
-              \expandafter\ifnum\expandafter`\BKM at temp>47 %
-                \expandafter\ifnum\expandafter`\BKM at temp<58 %
-                  1%
-                \fi
-              \fi
-              \relax
-        \PackageWarning{bookmark}{%
-          Unknown document division name (\BKM at param)\MessageBreak
-          for option `level'%
-        }%
-      \else
-        \BKM at SetDepthOrLevel\BKM at level\BKM at param
-      \fi
-    }{%
-      \BKM at SetDepthOrLevel\BKM at level{%
-        \csname toclevel@\BKM at param\endcsname
-      }%
-    }%
-  \fi
-}
-\def\BKM at MacroCurrentLevel{\BKM at currentlevel}
-\DeclareBoolOption{keeplevel}
-\DeclareBoolOption{startatroot}
-\def\BKM at startatrootfalse{%
-  \global\let\ifBKM at startatroot\iffalse
-}
-\def\BKM at startatroottrue{%
-  \global\let\ifBKM at startatroot\iftrue
-}
-\define at key{BKM}{rellevel}{%
-  \BKM at CalcExpr\BKM at level{#1}+\BKM at currentlevel
-}
-\def\bookmark at level{\BKM at level}
-\def\BKM at currentlevel{0}
-\DeclareBoolOption[%
-  \ifHy at bookmarksnumbered true\else false\fi
-]{numbered}
-\g at addto@macro\BKM at numberedtrue{%
-  \let\ifHy at bookmarksnumbered\iftrue
-}
-\g at addto@macro\BKM at numberedfalse{%
-  \let\ifHy at bookmarksnumbered\iffalse
-}
-\g at addto@macro\Hy at bookmarksnumberedtrue{%
-  \let\ifBKM at numbered\iftrue
-}
-\g at addto@macro\Hy at bookmarksnumberedfalse{%
-  \let\ifBKM at numbered\iffalse
-}
-\def\bookmark at numbered{%
-  \ifBKM at numbered\ltx at one\else\ltx at zero\fi
-}
-\def\BKM at PatchHyperrefOption#1{%
-  \expandafter\BKM@@PatchHyperrefOption\csname KV at Hyp@#1\endcsname%
-}
-\def\BKM@@PatchHyperrefOption#1{%
-  \expandafter\BKM@@@PatchHyperrefOption#1{##1}\BKM at nil#1%
-}
-\def\BKM@@@PatchHyperrefOption#1\BKM at nil#2#3{%
-  \def#2##1{%
-    #1%
-    \bookmarksetup{#3={##1}}%
-  }%
-}
-\BKM at PatchHyperrefOption{bookmarksopen}{open}
-\BKM at PatchHyperrefOption{bookmarksopenlevel}{openlevel}
-\BKM at PatchHyperrefOption{bookmarksdepth}{depth}
-\bitsetReset{BKM at FontStyle}%
-\define at key{BKM}{italic}[true]{%
-  \expandafter\ifx\csname if#1\endcsname\iftrue
-    \bitsetSet{BKM at FontStyle}{0}%
-  \else
-    \bitsetClear{BKM at FontStyle}{0}%
-  \fi
-}%
-\define at key{BKM}{bold}[true]{%
-  \expandafter\ifx\csname if#1\endcsname\iftrue
-    \bitsetSet{BKM at FontStyle}{1}%
-  \else
-    \bitsetClear{BKM at FontStyle}{1}%
-  \fi
-}%
-\def\bookmark at italic{%
-  \ifnum\bitsetGet{BKM at FontStyle}{0}=1 \ltx at one\else\ltx at zero\fi
-}
-\def\bookmark at bold{%
-  \ifnum\bitsetGet{BKM at FontStyle}{1}=1 \ltx at one\else\ltx at zero\fi
-}
-\def\BKM at PrintStyle{%
-  \bitsetGetDec{BKM at FontStyle}%
-}%
-\define at key{BKM}{color}{%
-  \HyColor at BookmarkColor{#1}\BKM at color{bookmark}{color}%
-}
-\let\BKM at color\@empty
-\def\bookmark at color{\BKM at color}
-\def\BKM at temp#1{%
-  \DeclareStringOption{#1}%
-  \expandafter\edef\csname bookmark@#1\endcsname{%
-    \expandafter\noexpand\csname BKM@#1\endcsname
-  }%
-}
-\BKM at temp{dest}
-\BKM at temp{named}
-\BKM at temp{uri}
-\BKM at temp{gotor}
-\BKM at temp{rawaction}
-\define at key{BKM}{page}{%
-  \def\BKM at page{#1}%
-  \ifx\BKM at page\@empty
-  \else
-    \edef\BKM at page{\number\BKM at page}%
-    \ifnum\BKM at page>\z@
-    \else
-      \PackageError{bookmark}{Page must be positive}\@ehc
-      \def\BKM at page{1}%
-    \fi
-  \fi
-}
-\let\BKM at page\@empty
-\def\bookmark at page{\BKM@@page}
-\define at key{BKM}{view}{%
-  \BKM at CheckView{#1}%
-}
-\let\BKM at view\@empty
-\def\bookmark at view{\BKM at view}
-\def\BKM at CheckView#1{%
-  \BKM at CheckViewType#1 \@nil
-}
-\def\BKM at CheckViewType#1 #2\@nil{%
-  \def\BKM at type{#1}%
-  \@onelevel at sanitize\BKM at type
-  \BKM at TestViewType{Fit}{}%
-  \BKM at TestViewType{FitB}{}%
-  \BKM at TestViewType{FitH}{%
-    \BKM at CheckParam#2 \@nil{top}%
-  }%
-  \BKM at TestViewType{FitBH}{%
-    \BKM at CheckParam#2 \@nil{top}%
-  }%
-  \BKM at TestViewType{FitV}{%
-    \BKM at CheckParam#2 \@nil{bottom}%
-  }%
-  \BKM at TestViewType{FitBV}{%
-    \BKM at CheckParam#2 \@nil{bottom}%
-  }%
-  \BKM at TestViewType{FitR}{%
-    \BKM at CheckRect{#2}{ }%
-  }%
-  \BKM at TestViewType{XYZ}{%
-    \BKM at CheckXYZ{#2}{ }%
-  }%
-  \@car{%
-    \PackageError{bookmark}{%
-      Unknown view type `\BKM at type',\MessageBreak
-      using `FitH' instead%
-    }\@ehc
-    \def\BKM at view{FitH}%
-  }%
-  \@nil
-}
-\def\BKM at TestViewType#1{%
-  \def\BKM at temp{#1}%
-  \@onelevel at sanitize\BKM at temp
-  \ifx\BKM at type\BKM at temp
-    \let\BKM at view\BKM at temp
-    \expandafter\@car
-  \else
-    \expandafter\@gobble
-  \fi
-}
-\def\BKM at CheckParam#1 #2\@nil#3{%
-  \def\BKM at param{#1}%
-  \ifx\BKM at param\@empty
-    \PackageWarning{bookmark}{%
-      Missing parameter (#3) for `\BKM at type',\MessageBreak
-      using 0%
-    }%
-    \def\BKM at param{0}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-}
-\def\BKM at CheckRect#1#2{%
-  \BKM@@CheckRect#1#2#2#2#2\@nil
-}
-\def\BKM@@CheckRect#1 #2 #3 #4 #5\@nil{%
-  \def\BKM at temp{0}%
-  \def\BKM at param{#1}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#2}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#3}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#4}%
-  \ifx\BKM at param\@empty
-    \def\BKM at param{0}%
-    \def\BKM at temp{1}%
-  \else
-    \BKM at CalcParam
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \ifnum\BKM at temp>\z@
-    \PackageWarning{bookmark}{Missing parameters for `\BKM at type'}%
-  \fi
-}
-\def\BKM at CheckXYZ#1#2{%
-  \BKM@@CheckXYZ#1#2#2#2\@nil
-}
-\def\BKM@@CheckXYZ#1 #2 #3 #4\@nil{%
-  \def\BKM at param{#1}%
-  \let\BKM at temp\BKM at param
-  \@onelevel at sanitize\BKM at temp
-  \ifx\BKM at param\@empty
-    \let\BKM at param\BKM at null
-  \else
-    \ifx\BKM at temp\BKM at null
-    \else
-      \BKM at CalcParam
-    \fi
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#2}%
-  \let\BKM at temp\BKM at param
-  \@onelevel at sanitize\BKM at temp
-  \ifx\BKM at param\@empty
-    \let\BKM at param\BKM at null
-  \else
-    \ifx\BKM at temp\BKM at null
-    \else
-      \BKM at CalcParam
-    \fi
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-  \def\BKM at param{#3}%
-  \ifx\BKM at param\@empty
-    \let\BKM at param\BKM at null
-  \fi
-  \edef\BKM at view{\BKM at view\space\BKM at param}%
-}
-\def\BKM at null{null}
-\@onelevel at sanitize\BKM at null
-\def\BKM at CalcParam{%
-  \begingroup
-  \let\calc\@firstofone
-  \expandafter\BKM@@CalcParam\BKM at param\@empty\@empty\@nil
-}
-\def\BKM@@CalcParam#1#2#3\@nil{%
-  \ifx\calc#1%
-    \@ifundefined{calc at assign@dimen}{%
-      \@ifundefined{dimexpr}{%
-        \setlength{\dimen@}{#2}%
-      }{%
-        \setlength{\dimen@}{\dimexpr#2\relax}%
-      }%
-    }{%
-      \setlength{\dimen@}{#2}%
-    }%
-    \dimen at .99626\dimen@
-    \edef\BKM at param{\strip at pt\dimen@}%
-    \expandafter\endgroup
-    \expandafter\def\expandafter\BKM at param\expandafter{\BKM at param}%
-  \else
-    \endgroup
-  \fi
-}
-\DeclareBoolOption{atend}
-\g at addto@macro\BKM at DisableOptions{%
-  \DisableKeyvalOption[action=warning,package=bookmark]%
-      {BKM}{atend}%
-}
-\newcommand*{\bookmarkdefinestyle}[2]{%
-  \@ifundefined{BKM at style@#1}{%
-  }{%
-    \PackageInfo{bookmark}{Redefining style `#1'}%
-  }%
-  \@namedef{BKM at style@#1}{#2}%
-}
-\define at key{BKM}{style}{%
-  \BKM at StyleCall{#1}%
-}
-\newif\ifBKM at ok
-\def\BKM at StyleCall#1{%
-  \@ifundefined{BKM at style@#1}{%
-    \PackageWarning{bookmark}{%
-      Ignoring unknown style `#1'%
-    }%
-  }{%
-    \BKM at oktrue
-    \edef\BKM at StyleCurrent{#1}%
-    \@onelevel at sanitize\BKM at StyleCurrent
-    \let\BKM at StyleEntry\BKM at StyleEntryCheck
-    \BKM at StyleStack
-    \ifBKM at ok
-      \expandafter\@firstofone
-    \else
-      \PackageError{bookmark}{%
-        Ignoring recursive call of style `\BKM at StyleCurrent'%
-      }\@ehc
-      \expandafter\@gobble
-    \fi
-    {%
-      \let\BKM at StyleEntry\relax
-      \edef\BKM at StyleStack{%
-        \BKM at StyleEntry{\BKM at StyleCurrent}%
-        \BKM at StyleStack
-      }%
-      \expandafter\expandafter\expandafter\bookmarksetup
-      \expandafter\expandafter\expandafter{%
-        \csname BKM at style@\BKM at StyleCurrent\endcsname
-      }%
-      \BKM at StyleStackPop
-    }%
-  }%
-}
-\def\BKM at StyleStackPop{%
-  \let\BKM at StyleEntry\relax
-  \edef\BKM at StyleStack{%
-    \expandafter\@gobbletwo\BKM at StyleStack
-  }%
-}
-\def\BKM at StyleEntryCheck#1{%
-  \def\BKM at temp{#1}%
-  \ifx\BKM at temp\BKM at StyleCurrent
-    \BKM at okfalse
-  \fi
-}
-\def\BKM at StyleStack{}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-\def\BKM at hook{}
-\define at key{BKM}{addtohook}{%
-  \ltx at LocalAppendToMacro\BKM at hook{#1}%
-}
-\newcommand*{\bookmarkget}[1]{%
-  \romannumeral0%
-  \ltx at ifundefined{bookmark@#1}{%
-    \ltx at space
-  }{%
-    \expandafter\expandafter\expandafter\ltx at space
-    \csname bookmark@#1\endcsname
-  }%
-}
-\def\BKM at DefineDriverKey#1{%
-  \define at key{BKM}{#1}[]{%
-    \def\BKM at driver{#1}%
-  }%
-  \g at addto@macro\BKM at DisableOptions{%
-    \DisableKeyvalOption[action=warning,package=bookmark]%
-        {BKM}{#1}%
-  }%
-}
-\BKM at DefineDriverKey{pdftex}
-\BKM at DefineDriverKey{dvips}
-\BKM at DefineDriverKey{dvipsone}
-\BKM at DefineDriverKey{textures}
-\BKM at DefineDriverKey{dvipdfm}
-\BKM at DefineDriverKey{dvipdfmx}
-\BKM at DefineDriverKey{xetex}
-\BKM at DefineDriverKey{vtex}
-\define at key{BKM}{dvipdfmx-outline-open}[true]{%
-  \expandafter\ifx\csname if#1\expandafter\endcsname
-                  \csname iftrue\endcsname
-    \chardef\SpecialDvipdfmxOutlineOpen\@ne
-  \else
-    \chardef\SpecialDvipdfmxOutlineOpen\z@
-  \fi
-}
-\g at addto@macro\BKM at DisableOptions{%
-  \DisableKeyvalOption{BKM}{dvipdfmx-outline-open}%
-}
-\def\bookmark at driver{\BKM at driver}
-\InputIfFileExists{bookmark.cfg}{}{}
-\providecommand*{\BookmarkDriverDefault}{dvips}
-\ifpdf
-  \def\BKM at driver{pdftex}%
-  \ifx\pdfoutline\@undefined
-    \ifx\pdfextension\@undefined\else
-      \protected\def\pdfoutline{\pdfextension outline }
-    \fi
-  \fi
-\else
-  \ifxetex
-    \def\BKM at driver{dvipdfm}%
-  \else
-    \ifvtex
-      \def\BKM at driver{vtex}%
-    \else
-      \edef\BKM at driver{\BookmarkDriverDefault}%
-    \fi
-  \fi
-\fi
-\ProcessKeyvalOptions*
-\BKM at DisableOptions
-\ifBKM at draft
-  \PackageWarningNoLine{bookmark}{Draft mode on}%
-  \let\bookmarksetup\ltx at gobble
-  \let\BookmarkAtEnd\ltx at gobble
-  \let\bookmarkdefinestyle\ltx at gobbletwo
-  \let\bookmarkget\ltx at gobble
-  \let\pdfbookmark\ltx at undefined
-  \newcommand*{\pdfbookmark}[3][]{}%
-  \let\currentpdfbookmark\ltx at gobbletwo
-  \let\subpdfbookmark\ltx at gobbletwo
-  \let\belowpdfbookmark\ltx at gobbletwo
-  \newcommand*{\bookmark}[2][]{}%
-  \renewcommand*{\Hy at writebookmark}[5]{}%
-  \let\ReadBookmarks\relax
-  \let\BKM at DefGotoNameAction\ltx at gobbletwo % package `hypdestopt'
-  \expandafter\endinput
-\fi
-\newif\ifBKM at DvipdfmxOutlineOpen
-\ltx at IfUndefined{SpecialDvipdfmxOutlineOpen}{%
-  \ifxetex
-    \ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in %
-    \else
-      \chardef\SpecialDvipdfmxOutlineOpen\ltx at one
-      \BKM at DvipdfmxOutlineOpentrue
-    \fi
-  \fi
-}{%
-  \ifnum\SpecialDvipdfmxOutlineOpen>\z@
-    \BKM at DvipdfmxOutlineOpentrue
-  \fi
-}
-\def\BKM at temp{dvipdfmx}%
-\ifx\BKM at temp\BKM at driver
-  \def\BKM at driver{dvipdfm}%
-\fi
-\def\BKM at temp{pdftex}%
-\ifpdf
-  \ifx\BKM at temp\BKM at driver
-  \else
-    \PackageWarningNoLine{bookmark}{%
-      Wrong driver `\BKM at driver', using `pdftex' instead%
-    }%
-    \let\BKM at driver\BKM at temp
-  \fi
-\else
-  \ifx\BKM at temp\BKM at driver
-    \PackageError{bookmark}{%
-      Wrong driver, pdfTeX is not running in PDF mode.\MessageBreak
-      Package loading is aborted%
-    }\@ehc
-    \expandafter\expandafter\expandafter\endinput
-  \fi
-  \def\BKM at temp{dvipdfm}%
-  \ifxetex
-    \ifx\BKM at temp\BKM at driver
-    \else
-      \PackageWarningNoLine{bookmark}{%
-        Wrong driver `\BKM at driver',\MessageBreak
-        using `dvipdfm' for XeTeX instead%
-      }%
-      \let\BKM at driver\BKM at temp
-    \fi
-  \else
-    \def\BKM at temp{vtex}%
-    \ifvtex
-      \ifx\BKM at temp\BKM at driver
-      \else
-        \PackageWarningNoLine{bookmark}{%
-          Wrong driver `\BKM at driver',\MessageBreak
-          using `vtex' for VTeX instead%
-        }%
-        \let\BKM at driver\BKM at temp
-      \fi
-    \else
-      \ifx\BKM at temp\BKM at driver
-        \PackageError{bookmark}{%
-          Wrong driver, VTeX is not running in PDF mode.\MessageBreak
-          Package loading is aborted%
-        }\@ehc
-        \expandafter\expandafter\expandafter\endinput
-      \fi
-    \fi
-  \fi
-\fi
-\InputIfFileExists{bkm-\BKM at driver.def}{}{%
-  \PackageError{bookmark}{%
-    Unsupported driver `\BKM at driver'.\MessageBreak
-    Package loading is aborted%
-  }\@ehc
-  \endinput
-}
-\let\pdfbookmark\ltx at undefined
-\newcommand*{\pdfbookmark}[3][0]{%
-  \bookmark[level=#1,dest={#3.#1}]{#2}%
-  \hyper at anchorstart{#3.#1}\hyper at anchorend
-}
-\def\currentpdfbookmark{%
-  \pdfbookmark[\BKM at currentlevel]%
-}
-\def\subpdfbookmark{%
-  \BKM at CalcExpr\BKM at CalcResult\BKM at currentlevel+1%
-  \expandafter\pdfbookmark\expandafter[\BKM at CalcResult]%
-}
-\def\belowpdfbookmark#1#2{%
-  \xdef\BKM at gtemp{\number\BKM at currentlevel}%
-  \subpdfbookmark{#1}{#2}%
-  \global\let\BKM at currentlevel\BKM at gtemp
-}
-\def\Hy at writebookmark#1#2#3#4#5{%
-  \ifnum#4>\BKM at depth\relax
-  \else
-    \def\BKM at type{#5}%
-    \ifx\BKM at type\Hy at bookmarkstype
-      \begingroup
-        \ifBKM at numbered
-          \let\numberline\Hy at numberline
-          \let\booknumberline\Hy at numberline
-          \let\partnumberline\Hy at numberline
-          \let\chapternumberline\Hy at numberline
-        \else
-          \let\numberline\@gobble
-          \let\booknumberline\@gobble
-          \let\partnumberline\@gobble
-          \let\chapternumberline\@gobble
-        \fi
-        \bookmark[level=#4,dest={#3}]{#2}%
-      \endgroup
-    \fi
-  \fi
-}
-\let\ReadBookmarks\relax
-\ifBKM at atend
-\else
-  \newcommand{\BookmarkAtEnd}[1]{%
-    \PackageWarning{bookmark}{%
-      Ignored, because option `atend' is missing%
-    }%
-  }%
-  \expandafter\endinput
-\fi
-\newcommand*{\BookmarkAtEnd}{%
-  \g at addto@macro\BKM at EndHook
-}
-\let\BKM at EndHook\@empty
-
-\endinput
-%%
-%% End of file `bookmark.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,57 +0,0 @@
-%%
-%% This is file `dtx-attach.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% embedfile.dtx  (with options: `dtxattach')
-%% 
-%% This is a generated file.
-%% 
-%% Project: embedfile
-%% Version: 2018/11/01 v2.8
-%% 
-%% Copyright (C)
-%%    2006-2011 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file embedfile.dtx
-%% and the derived files
-%%    embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
-%%    dtx-attach.sty, embedfile-example-plain.tex,
-%%    embedfile-example-collection.tex, embedfile-test1.tex,
-%%    embedfile-test2.tex, embedfile-test3.tex,
-%%    embedfile-test4.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{dtx-attach}
-  [2018/11/01 v2.8 Embed \string\jobname.dtx (HO)]%
-\RequirePackage{embedfile}[2018/11/01]
-\embedfile[%
-  stringmethod=escape,%
-  mimetype=plain/text,%
-  desc={LaTeX docstrip source archive for package `\jobname'}%
-]{\jobname.dtx}
-\endinput
-%%
-%% End of file `dtx-attach.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/grfext.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/grfext.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/grfext.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,278 +0,0 @@
-%%
-%% This is file `grfext.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% grfext.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: grfext
-%% Version: 2016/05/16 v1.2
-%% 
-%% Copyright (C)
-%%    2007, 2010 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file grfext.dtx
-%% and the derived files
-%%    grfext.sty, grfext.pdf, grfext.ins, grfext.drv, grfext-test1.tex,
-%%    grfext-test2.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at grfext.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{grfext}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at grfext.sty\endcsname
-\ProvidesPackage{grfext}%
-  [2016/05/16 v1.2 Manage graphics extensions (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname grfext at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\grfext at AtEnd{%
-    \grfext at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\grfext at AtEnd{\grfext at AtEnd\noexpand\endinput}
-\@ifundefined{@expandtwoargs}{%
-  \def\@expandtwoargs#1#2#3{%
-    \edef\reserved at a{\noexpand#1{#2}{#3}}%
-    \reserved at a
-  }%
-}{}
-\newcommand*{\AppendGraphicsExtensions}{%
-  \@ifundefined{Gin at extensions}{%
-    \let\Gin at extensions\@empty
-  }{}%
-  \@ifstar{\grfext at Append\grfext at Check}{\grfext at Append\grfext@@Add}%
-}%
-\def\grfext at Append#1#2{%
-  \let\grfext at Print\@gobble
-  \edef\grfext at next{%
-    \noexpand\grfext at Add\noexpand#1{%
-      \zap at space#2 \@empty
-    }{\noexpand\Gin at extensions,}{}%
-  }%
-  \grfext at next
-  \let\grfext at Print\grfext@@Print
-  \grfext at Print\AppendGraphicsExtensions
-}
-\newcommand*{\PrependGraphicsExtensions}{%
-  \@ifundefined{Gin at extensions}{%
-    \let\Gin at extensions\@empty
-  }{}%
-  \@ifstar{\grfext at Prepend\grfext at Check}{\grfext at Prepend\grfext@@Add}%
-}%
-\def\grfext at Prepend#1#2{%
-  \let\grfext at Print\@gobble
-  \edef\grfext at next{%
-    \noexpand\grfext at Add\noexpand#1{%
-      \zap at space#2 \@empty
-    }{}{,\noexpand\Gin at extensions}%
-  }%
-  \grfext at next
-  \let\grfext at Print\grfext@@Print
-  \grfext at Print\PrependGraphicsExtensions
-}
-\def\grfext at Add#1#2{%
-  #1{#2}%
-}
-\def\grfext@@Add#1#2#3{%
-  \RemoveGraphicsExtensions{#1}%
-  \ifx\Gin at extensions\@empty
-    \def\Gin at extensions{#1}%
-  \else
-    \edef\Gin at extensions{#2#1#3}%
-  \fi
-}
-\def\grfext at Check#1{%
-  \let\grfext at tmp\@empty
-  \@for\grfext at ext:=#1\do{%
-    \@ifundefined{Gin at rule@\grfext at ext}{%
-    }{%
-      \ifx\grfext at tmp\@empty
-        \let\grfext at tmp\grfext at ext
-      \else
-        \edef\grfext at tmp{\grfext at tmp,\grfext at ext}%
-      \fi
-    }%
-  }%
-  \ifx\grfext at tmp\@empty
-    \def\grfext at next##1##2{}%
-  \else
-    \edef\grfext at next{%
-      \noexpand\grfext@@Add{\grfext at tmp}%
-    }%
-  \fi
-  \grfext at next
-}
-\newcommand*{\RemoveGraphicsExtensions}[1]{%
-  \@ifundefined{Gin at extensions}{%
-    \def\Gin at extensions{}%
-  }{%
-    \edef\grfext at tmp{\zap at space#1 \@empty}%
-    \@for\grfext at ext:=\grfext at tmp\do{%
-      \def\grfext at next{%
-        \let\grfext at tmp\Gin at extensions
-        \@expandtwoargs
-        \@removeelement\grfext at ext\Gin at extensions\Gin at extensions
-        \ifx\grfext at tmp\Gin at extensions
-          \let\grfext at next\relax
-        \fi
-        \grfext at next
-      }%
-      \grfext at next
-    }%
-  }%
-  \grfext at Print\RemoveGraphicsExtensions
-}
-\RequirePackage{infwarerr}[2007/09/09]
-\def\PrintGraphicsExtensions{%
-  \grfext at Print\PrintGraphicsExtensions
-}
-\def\grfext at Print#1{%
-  \@PackageInfo{grfext}{%
-    Graphics extension search list:\MessageBreak
-    \@ifundefined{Gin at extensions}{%
-      <unavailable>%
-    }{%
-      [\Gin at extensions]%
-    }\MessageBreak
-    \string#1%
-  }%
-}
-\let\grfext@@Print\grfext at Print
-\RequirePackage{kvdefinekeys}[2010/03/01]
-\kv at define@key{Gin}{AppendGraphicsExtensions}{%
-  \AppendGraphicsExtensions{#1}%
-}
-\kv at define@key{Gin}{AppendGraphicsExtensions*}{%
-  \AppendGraphicsExtensions*{#1}%
-}
-\kv at define@key{Gin}{PrependGraphicsExtensions}{%
-  \PrependGraphicsExtensions{#1}%
-}
-\kv at define@key{Gin}{PrependGraphicsExtensions*}{%
-  \PrependGraphicsExtensions*{#1}%
-}
-\kv at define@key{Gin}{RemoveGraphicsExtensions}{%
-  \RemoveGraphicsExtensions{#1}%
-}
-\kv at define@key{Gin}{PrintGraphicsExtensions}[]{%
-  \PrintGraphicsExtensions
-}
-\grfext at AtEnd%
-\endinput
-%%
-%% End of file `grfext.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/hopatch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/hopatch.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/hopatch.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -176,6 +176,7 @@
   }%
 }
 \HOpatch at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `hopatch.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/hycolor.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/hycolor.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/hycolor.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -570,6 +570,7 @@
     \fi
   \fi
 }
+%% \section{Installation}
 \endinput
 %%
 %% End of file `hycolor.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/letltxmacro.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/letltxmacro.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/letltxmacro.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1,216 +0,0 @@
-%%
-%% This is file `letltxmacro.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% letltxmacro.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: letltxmacro
-%% Version: 2016/05/16 v1.5
-%% 
-%% Copyright (C)
-%%    2008, 2010 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% This work consists of the main source file letltxmacro.dtx
-%% and the derived files
-%%    letltxmacro.sty, letltxmacro.pdf, letltxmacro.ins, letltxmacro.drv,
-%%    letltxmacro-showcases.tex, letltxmacro-test1.tex,
-%%    letltxmacro-test2.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname llm at AtEnd\endcsname{%
-      \endlinechar=\the\endlinechar\relax
-      \catcode13=\the\catcode13\relax
-      \catcode32=\the\catcode32\relax
-      \catcode35=\the\catcode35\relax
-      \catcode61=\the\catcode61\relax
-      \catcode64=\the\catcode64\relax
-      \catcode123=\the\catcode123\relax
-      \catcode125=\the\catcode125\relax
-    }%
-  }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP at EnsureCode#1#2{%
-  \edef\llm at AtEnd{%
-    \llm at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\llm at AtEnd{%
-  \llm at AtEnd
-  \escapechar\the\escapechar\relax
-  \noexpand\endinput
-}
-\escapechar=92 % `\\
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{letltxmacro}%
-  [2016/05/16 v1.5 Let assignment for LaTeX macros (HO)]
-\newcommand*{\LetLtxMacro}{%
-  \llm at ModeLetLtxMacro{}%
-}
-\newcommand*{\GlobalLetLtxMacro}{%
-  \llm at ModeLetLtxMacro\global
-}
-\newcommand*{\llm at ModeLetLtxMacro}[3]{%
-  \edef\llm at escapechar{\the\escapechar}%
-  \escapechar=-1 %
-  \edef\reserved at a{%
-    \noexpand\protect
-    \expandafter\noexpand
-    \csname\string#3 \endcsname
-  }%
-  \ifx\reserved at a#3\relax
-    #1\edef#2{%
-      \noexpand\protect
-      \expandafter\noexpand
-      \csname\string#2 \endcsname
-    }%
-    #1\expandafter\let
-    \csname\string#2 \expandafter\endcsname
-    \csname\string#3 \endcsname
-    \expandafter\llm at LetLtxMacro
-        \csname\string#2 \expandafter\endcsname
-        \csname\string#3 \endcsname{#1}%
-  \else
-    \llm at LetLtxMacro{#2}{#3}{#1}%
-  \fi
-  \escapechar=\llm at escapechar\relax
-}
-\def\llm at LetLtxMacro#1#2#3{%
-  \escapechar=92 %
-  \expandafter\llm at CheckParams\meaning#2:->\@nil{%
-    \begingroup
-      \def\@protected at testopt{%
-        \expandafter\@testopt\@gobble
-      }%
-      \def\@testopt##1##2{%
-        \toks@={##2}%
-      }%
-      \let\llm at testopt\@empty
-      \edef\x{%
-        \noexpand\@protected at testopt
-        \noexpand#2%
-        \expandafter\noexpand\csname\string#2\endcsname
-      }%
-      \expandafter\expandafter\expandafter\def
-      \expandafter\expandafter\expandafter\y
-      \expandafter\expandafter\expandafter{%
-        \expandafter\llm at CarThree#2{}{}{}\llm at nil
-      }%
-      \ifx\x\y
-        #2%
-        \def\llm at testopt{%
-          \noexpand\@protected at testopt
-          \noexpand#1%
-        }%
-      \else
-        \edef\x{%
-          \noexpand\@testopt
-          \expandafter\noexpand
-          \csname\string#2\endcsname
-        }%
-        \expandafter\expandafter\expandafter\def
-        \expandafter\expandafter\expandafter\y
-        \expandafter\expandafter\expandafter{%
-          \expandafter\llm at CarTwo#2{}{}\llm at nil
-        }%
-        \ifx\x\y
-          #2%
-          \def\llm at testopt{%
-            \noexpand\@testopt
-          }%
-        \fi
-      \fi
-      \ifx\llm at testopt\@empty
-      \else
-        \llm at protected\xdef\llm at GlobalTemp{%
-          \llm at testopt
-          \expandafter\noexpand
-          \csname\string#1\endcsname
-          {\the\toks@}%
-        }%
-      \fi
-    \expandafter\endgroup\ifx\llm at testopt\@empty
-      #3\let#1=#2\relax
-    \else
-      #3\let#1=\llm at GlobalTemp
-      #3\expandafter\let
-          \csname\string#1\expandafter\endcsname
-          \csname\string#2\endcsname
-    \fi
-  }{%
-    #3\let#1=#2\relax
-  }%
-}
-\def\llm at CheckParams#1:->#2\@nil{%
-  \begingroup
-    \def\x{#1}%
-  \ifx\x\llm at macro
-    \endgroup
-    \def\llm at protected{}%
-    \expandafter\@firstoftwo
-  \else
-    \ifx\x\llm at protectedmacro
-      \endgroup
-      \def\llm at protected{\protected}%
-      \expandafter\expandafter\expandafter\@firstoftwo
-    \else
-      \endgroup
-      \expandafter\expandafter\expandafter\@secondoftwo
-    \fi
-  \fi
-}
-\def\llm at macro{macro}
-\@onelevel at sanitize\llm at macro
-\def\llm at protectedmacro{\protected macro}
-\@onelevel at sanitize\llm at protectedmacro
-\def\llm at CarThree#1#2#3#4\llm at nil{#1#2#3}%
-\def\llm at CarTwo#1#2#3\llm at nil{#1#2}%
-\llm at AtEnd%
-\endinput
-%%
-%% End of file `letltxmacro.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -187,6 +187,7 @@
 }
 \expandafter\lstU at temp\lst at InputListing{#1}\@nil
 \lstU at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `listingsutf8.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/pagegrid.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/pagegrid.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/pagegrid.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -415,6 +415,7 @@
   \fi
 }
 \pagegrid at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pagegrid.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolfoot.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolfoot.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolfoot.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -171,6 +171,7 @@
 }
 \AtBeginDocument{\pdfcolfoot at all{AtBeginDocument}}
 \pdfcolfoot at all{AtEndOfPackage}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pdfcolfoot.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparallel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparallel.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparallel.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -485,6 +485,7 @@
   \fi
 }
 \long\def\pcp at GobbleNil#1\@nil{}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pdfcolparallel.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparcolumns.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparcolumns.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/pdfcolparcolumns.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -196,6 +196,7 @@
   \fi
 }
 \long\def\pcpc at GobbleNil#1\@nil{}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pdfcolparcolumns.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdraw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdraw.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdraw.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -3397,6 +3397,7 @@
   \edef\pmbd at rulewidth{\number\dimen@ sp}%
 }
 \pmbd at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pmboxdraw.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdrawenc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdrawenc.dfu	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/pmboxdrawenc.dfu	2019-12-04 22:54:28 UTC (rev 53027)
@@ -173,6 +173,7 @@
 \DeclareUnicodeCharacter{259D}{\pmboxdrawuni{259D}}
 \DeclareUnicodeCharacter{259E}{\pmboxdrawuni{259E}}
 \DeclareUnicodeCharacter{259F}{\pmboxdrawuni{259F}}
+%% \section{Installation}
 \endinput
 %%
 %% End of file `pmboxdrawenc.dfu'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/refcount.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/refcount.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/refcount.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -397,6 +397,7 @@
   \fi
 }
 \rc at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `refcount.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -353,6 +353,7 @@
 \def\ReFiCh at AuxEmptyDos{A62A15ECE803E2EBE94952FCC9933BC0;9}%
 \@onelevel at sanitize\ReFiCh at AuxEmptyDos
 \ReFiCh at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `rerunfilecheck.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/resizegather.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/resizegather.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/resizegather.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -322,6 +322,7 @@
   \fi
 }
 \ResizeGather at AtEnd%
+%% \section{Installation}
 \endinput
 %%
 %% End of file `resizegather.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -269,6 +269,7 @@
   x-dec-mcs%
 }%
 \@onelevel at sanitize\SIE at EncodingList
+%% \section{Installation}
 \endinput
 %%
 %% End of file `selinput.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty	2019-12-04 22:54:28 UTC (rev 53027)
@@ -191,6 +191,7 @@
     \fi
   }{}%
 }
+%% \section{Installation}
 \endinput
 %%
 %% End of file `xcolor-patch.sty'.

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2019-12-04 22:54:28 UTC (rev 53027)
@@ -538,7 +538,6 @@
 depend graphicx-psmin
 depend graphicxbox
 depend grayhints
-depend grffile
 depend grfpaste
 depend grid
 depend grid-system
@@ -893,7 +892,6 @@
 depend pdfscreen
 depend pdfslide
 depend pdfsync
-depend pdftexcmds
 depend pdfwin
 depend pdfx
 depend pecha

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc	2019-12-04 22:54:28 UTC (rev 53027)
@@ -30,6 +30,7 @@
 depend fontspec
 depend footnotehyper
 depend fp
+depend grffile
 depend index
 depend infwarerr
 depend jknapltx
@@ -53,6 +54,7 @@
 depend ntgclass
 depend parskip
 depend pdfpages
+depend pdftexcmds
 depend polyglossia
 depend psfrag
 depend ragged2e

Modified: trunk/Master/tlpkg/tlpsrc/oberdiek.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/oberdiek.tlpsrc	2019-12-04 22:50:54 UTC (rev 53026)
+++ trunk/Master/tlpkg/tlpsrc/oberdiek.tlpsrc	2019-12-04 22:54:28 UTC (rev 53027)
@@ -1 +1,28 @@
+depend grfext
+depend grffile
+depend iftex
 depend kvoptions
+depend infwarerr
+depend pdftexcmds
+# following have been split off from oberdiek:
+# attachfile2
+# bookmark
+# embedfile
+# epstopdf-pkg
+# grfext
+# grffile
+# hobsub
+# infwarerr
+# iftex
+# inputenx
+# kvoptions
+# letltxmacro
+# luacolor
+# magicnum
+# makerobust
+# mleftright
+# pdfcolmk
+# pdftexcmds
+# stringenc
+# transparent
+# zref



More information about the tex-live-commits mailing list