Compare commits

...

No commits in common. 'c9' and 'c8' have entirely different histories.
c9 ... c8

286
.gitignore vendored

@ -1,45 +1,44 @@
SOURCES/acronym.doc.tar.xz
SOURCES/acronym.tar.xz
SOURCES/adjustbox.doc.tar.xz
SOURCES/adjustbox.source.tar.xz
SOURCES/adjustbox.tar.xz
SOURCES/ae.doc.tar.xz
SOURCES/ae.source.tar.xz
SOURCES/ae.tar.xz
SOURCES/algorithms.doc.tar.xz
SOURCES/algorithms.source.tar.xz
SOURCES/algorithms.tar.xz
SOURCES/alphalph.doc.tar.xz
SOURCES/alphalph.tar.xz
SOURCES/amscls.doc.tar.xz
SOURCES/amscls.source.tar.xz
SOURCES/amscls.tar.xz
SOURCES/amsfonts.doc.tar.xz
SOURCES/amsfonts.source.tar.xz
SOURCES/amsfonts.tar.xz
SOURCES/amsmath.doc.tar.xz
SOURCES/amsmath.source.tar.xz
SOURCES/amsmath.tar.xz
SOURCES/anyfontsize.doc.tar.xz
SOURCES/anyfontsize.tar.xz
SOURCES/anysize.doc.tar.xz
SOURCES/anysize.tar.xz
SOURCES/appendix.doc.tar.xz
SOURCES/appendix.source.tar.xz
SOURCES/appendix.tar.xz
SOURCES/arabxetex.doc.tar.xz
SOURCES/arabxetex.source.tar.xz
SOURCES/arabxetex.tar.xz
SOURCES/arphic.doc.tar.xz
SOURCES/arphic.tar.xz
SOURCES/atbegshi.doc.tar.xz
SOURCES/atbegshi.tar.xz
SOURCES/attachfile.doc.tar.xz
SOURCES/attachfile.source.tar.xz
SOURCES/attachfile.tar.xz
SOURCES/attachfile2.doc.tar.xz
SOURCES/attachfile2.tar.xz
SOURCES/atveryend.doc.tar.xz
SOURCES/atveryend.tar.xz
SOURCES/auxhook.doc.tar.xz
SOURCES/auxhook.tar.xz
SOURCES/avantgar.tar.xz
SOURCES/awesomebox.doc.tar.xz
SOURCES/awesomebox.tar.xz
SOURCES/babel-english.doc.tar.xz
SOURCES/babel-english.source.tar.xz
SOURCES/babel-english.tar.xz
SOURCES/babel.doc.tar.xz
SOURCES/babel.source.tar.xz
SOURCES/babel.tar.xz
SOURCES/babelbib.doc.tar.xz
SOURCES/babelbib.tar.xz
@ -48,39 +47,43 @@ SOURCES/beamer.tar.xz
SOURCES/bera.doc.tar.xz
SOURCES/bera.tar.xz
SOURCES/beton.doc.tar.xz
SOURCES/beton.source.tar.xz
SOURCES/beton.tar.xz
SOURCES/bibtex.doc.tar.xz
SOURCES/bibtex.tar.xz
SOURCES/bibtopic.doc.tar.xz
SOURCES/bibtopic.source.tar.xz
SOURCES/bibtopic.tar.xz
SOURCES/bidi.doc.tar.xz
SOURCES/bidi.source.tar.xz
SOURCES/bidi.tar.xz
SOURCES/bigfoot.doc.tar.xz
SOURCES/bigfoot.source.tar.xz
SOURCES/bigfoot.tar.xz
SOURCES/bigintcalc.doc.tar.xz
SOURCES/bigintcalc.tar.xz
SOURCES/bitset.doc.tar.xz
SOURCES/bitset.tar.xz
SOURCES/bookman.tar.xz
SOURCES/bookmark.doc.tar.xz
SOURCES/bookmark.tar.xz
SOURCES/booktabs.doc.tar.xz
SOURCES/booktabs.source.tar.xz
SOURCES/booktabs.tar.xz
SOURCES/breakurl.doc.tar.xz
SOURCES/breakurl.source.tar.xz
SOURCES/breakurl.tar.xz
SOURCES/breqn.doc.tar.xz
SOURCES/breqn.source.tar.xz
SOURCES/breqn.tar.xz
SOURCES/capt-of.doc.tar.xz
SOURCES/capt-of.source.tar.xz
SOURCES/capt-of.tar.xz
SOURCES/caption.doc.tar.xz
SOURCES/caption.source.tar.xz
SOURCES/caption.tar.xz
SOURCES/carlisle.doc.tar.xz
SOURCES/carlisle.source.tar.xz
SOURCES/carlisle.tar.xz
SOURCES/catchfile.doc.tar.xz
SOURCES/catchfile.tar.xz
SOURCES/changebar.doc.tar.xz
SOURCES/changebar.source.tar.xz
SOURCES/changebar.tar.xz
SOURCES/changepage.doc.tar.xz
SOURCES/changepage.source.tar.xz
SOURCES/changepage.tar.xz
SOURCES/charter.doc.tar.xz
SOURCES/charter.tar.xz
@ -89,8 +92,10 @@ SOURCES/chngcntr.tar.xz
SOURCES/cite.doc.tar.xz
SOURCES/cite.tar.xz
SOURCES/cjk.doc.tar.xz
SOURCES/cjk.source.tar.xz
SOURCES/cjk.tar.xz
SOURCES/classpack.doc.tar.xz
SOURCES/classpack.source.tar.xz
SOURCES/classpack.tar.xz
SOURCES/cm-lgc.doc.tar.xz
SOURCES/cm-lgc.tar.xz
@ -104,32 +109,36 @@ SOURCES/cmextra.tar.xz
SOURCES/cns.doc.tar.xz
SOURCES/cns.tar.xz
SOURCES/collectbox.doc.tar.xz
SOURCES/collectbox.source.tar.xz
SOURCES/collectbox.tar.xz
SOURCES/collection-basic.tar.xz
SOURCES/collection-fontsrecommended.tar.xz
SOURCES/collection-latex.tar.xz
SOURCES/collection-latexrecommended.tar.xz
SOURCES/collection-xetex.tar.xz
SOURCES/colorprofiles.doc.tar.xz
SOURCES/colorprofiles.tar.xz
SOURCES/colortbl.doc.tar.xz
SOURCES/colortbl.source.tar.xz
SOURCES/colortbl.tar.xz
SOURCES/context.doc.tar.xz
SOURCES/context.tar.xz
SOURCES/courier.tar.xz
SOURCES/crop.doc.tar.xz
SOURCES/crop.source.tar.xz
SOURCES/crop.tar.xz
SOURCES/csquotes.doc.tar.xz
SOURCES/csquotes.tar.xz
SOURCES/ctable.doc.tar.xz
SOURCES/ctable.source.tar.xz
SOURCES/ctable.tar.xz
SOURCES/ctablestack.doc.tar.xz
SOURCES/ctablestack.source.tar.xz
SOURCES/ctablestack.tar.xz
SOURCES/currfile.doc.tar.xz
SOURCES/currfile.source.tar.xz
SOURCES/currfile.tar.xz
SOURCES/datetime.doc.tar.xz
SOURCES/datetime.source.tar.xz
SOURCES/datetime.tar.xz
SOURCES/dehyph.tar.xz
SOURCES/dvipdfmx.doc.tar.xz
SOURCES/dvipdfmx.tar.xz
SOURCES/dvipng.doc.tar.xz
@ -147,32 +156,32 @@ SOURCES/enctex.tar.xz
SOURCES/enumitem.doc.tar.xz
SOURCES/enumitem.tar.xz
SOURCES/environ.doc.tar.xz
SOURCES/environ.source.tar.xz
SOURCES/environ.tar.xz
SOURCES/epsf.doc.tar.xz
SOURCES/epsf.tar.xz
SOURCES/epstopdf-pkg.doc.tar.xz
SOURCES/epstopdf-pkg.tar.xz
SOURCES/epstopdf.doc.tar.xz
SOURCES/epstopdf.tar.xz
SOURCES/eqparbox.doc.tar.xz
SOURCES/eqparbox.source.tar.xz
SOURCES/eqparbox.tar.xz
SOURCES/eso-pic.doc.tar.xz
SOURCES/eso-pic.source.tar.xz
SOURCES/eso-pic.tar.xz
SOURCES/etex-pkg.doc.tar.xz
SOURCES/etex-pkg.tar.xz
SOURCES/etex.doc.tar.xz
SOURCES/etex.tar.xz
SOURCES/etexcmds.doc.tar.xz
SOURCES/etexcmds.tar.xz
SOURCES/etoc.doc.tar.xz
SOURCES/etoc.tar.xz
SOURCES/etoolbox.doc.tar.xz
SOURCES/etoolbox.tar.xz
SOURCES/euenc.doc.tar.xz
SOURCES/euenc.source.tar.xz
SOURCES/euenc.tar.xz
SOURCES/euler.doc.tar.xz
SOURCES/euler.source.tar.xz
SOURCES/euler.tar.xz
SOURCES/euro.doc.tar.xz
SOURCES/euro.source.tar.xz
SOURCES/euro.tar.xz
SOURCES/eurosym.doc.tar.xz
SOURCES/eurosym.tar.xz
@ -183,104 +192,113 @@ SOURCES/fancybox.tar.xz
SOURCES/fancyhdr.doc.tar.xz
SOURCES/fancyhdr.tar.xz
SOURCES/fancyref.doc.tar.xz
SOURCES/fancyref.source.tar.xz
SOURCES/fancyref.tar.xz
SOURCES/fancyvrb.doc.tar.xz
SOURCES/fancyvrb.source.tar.xz
SOURCES/fancyvrb.tar.xz
SOURCES/filecontents.doc.tar.xz
SOURCES/filecontents.source.tar.xz
SOURCES/filecontents.tar.xz
SOURCES/filehook.doc.tar.xz
SOURCES/filehook.source.tar.xz
SOURCES/filehook.tar.xz
SOURCES/finstrut.doc.tar.xz
SOURCES/finstrut.source.tar.xz
SOURCES/finstrut.tar.xz
SOURCES/fix2col.doc.tar.xz
SOURCES/fix2col.source.tar.xz
SOURCES/fix2col.tar.xz
SOURCES/fixlatvian.doc.tar.xz
SOURCES/fixlatvian.source.tar.xz
SOURCES/fixlatvian.tar.xz
SOURCES/float.doc.tar.xz
SOURCES/float.source.tar.xz
SOURCES/float.tar.xz
SOURCES/fmtcount.doc.tar.xz
SOURCES/fmtcount.source.tar.xz
SOURCES/fmtcount.tar.xz
SOURCES/fncychap.doc.tar.xz
SOURCES/fncychap.tar.xz
SOURCES/fontawesome.doc.tar.xz
SOURCES/fontawesome.tar.xz
SOURCES/fontbook.doc.tar.xz
SOURCES/fontbook.source.tar.xz
SOURCES/fontbook.tar.xz
SOURCES/fonts-tlwg.doc.tar.xz
SOURCES/fonts-tlwg.source.tar.xz
SOURCES/fonts-tlwg.tar.xz
SOURCES/fontspec.doc.tar.xz
SOURCES/fontspec.source.tar.xz
SOURCES/fontspec.tar.xz
SOURCES/fontware.doc.tar.xz
SOURCES/fontware.tar.xz
SOURCES/fontwrap.doc.tar.xz
SOURCES/fontwrap.tar.xz
SOURCES/footmisc.doc.tar.xz
SOURCES/footmisc.source.tar.xz
SOURCES/footmisc.tar.xz
SOURCES/footnotehyper.doc.tar.xz
SOURCES/footnotehyper.tar.xz
SOURCES/fp.doc.tar.xz
SOURCES/fp.tar.xz
SOURCES/fpl.doc.tar.xz
SOURCES/fpl.source.tar.xz
SOURCES/fpl.tar.xz
SOURCES/framed.doc.tar.xz
SOURCES/framed.tar.xz
SOURCES/garuda-c90.source.tar.xz
SOURCES/garuda-c90.tar.xz
SOURCES/geometry.doc.tar.xz
SOURCES/geometry.source.tar.xz
SOURCES/geometry.tar.xz
SOURCES/gettitlestring.doc.tar.xz
SOURCES/gettitlestring.tar.xz
SOURCES/glyphlist.tar.xz
SOURCES/gnu-freefont.doc.tar.xz
SOURCES/gnu-freefont.tar.xz
SOURCES/graphics-cfg.doc.tar.xz
SOURCES/graphics-cfg.tar.xz
SOURCES/graphics-def.tar.xz
SOURCES/graphics.doc.tar.xz
SOURCES/graphics.source.tar.xz
SOURCES/graphics.tar.xz
SOURCES/grfext.doc.tar.xz
SOURCES/grfext.tar.xz
SOURCES/grffile.doc.tar.xz
SOURCES/grffile.tar.xz
SOURCES/gsftopk.doc.tar.xz
SOURCES/gsftopk.tar.xz
SOURCES/hanging.doc.tar.xz
SOURCES/hanging.tar.xz
SOURCES/helvetic.tar.xz
SOURCES/hobsub.doc.tar.xz
SOURCES/hobsub.tar.xz
SOURCES/hologo.doc.tar.xz
SOURCES/hologo.tar.xz
SOURCES/hycolor.doc.tar.xz
SOURCES/hycolor.tar.xz
SOURCES/hyperref.doc.tar.xz
SOURCES/hyperref.source.tar.xz
SOURCES/hyperref.tar.xz
SOURCES/hyph-utf8.doc.tar.xz
SOURCES/hyph-utf8.source.tar.xz
SOURCES/hyph-utf8.tar.xz
SOURCES/hyphen-base.tar.xz
SOURCES/hyphenat.doc.tar.xz
SOURCES/hyphenat.source.tar.xz
SOURCES/hyphenat.tar.xz
SOURCES/hyphenex.tar.xz
SOURCES/ifetex.doc.tar.xz
SOURCES/ifetex.source.tar.xz
SOURCES/ifetex.tar.xz
SOURCES/ifluatex.doc.tar.xz
SOURCES/ifluatex.source.tar.xz
SOURCES/ifluatex.tar.xz
SOURCES/ifmtarg.doc.tar.xz
SOURCES/ifmtarg.source.tar.xz
SOURCES/ifmtarg.tar.xz
SOURCES/ifoddpage.doc.tar.xz
SOURCES/ifoddpage.source.tar.xz
SOURCES/ifoddpage.tar.xz
SOURCES/ifplatform.doc.tar.xz
SOURCES/ifplatform.tar.xz
SOURCES/iftex.doc.tar.xz
SOURCES/iftex.tar.xz
SOURCES/ifxetex.doc.tar.xz
SOURCES/ifxetex.source.tar.xz
SOURCES/ifxetex.tar.xz
SOURCES/import.doc.tar.xz
SOURCES/import.tar.xz
SOURCES/index.doc.tar.xz
SOURCES/index.source.tar.xz
SOURCES/index.tar.xz
SOURCES/infwarerr.doc.tar.xz
SOURCES/infwarerr.tar.xz
SOURCES/intcalc.doc.tar.xz
SOURCES/intcalc.tar.xz
SOURCES/jadetex.doc.tar.xz
SOURCES/jadetex.source.tar.xz
SOURCES/jadetex.tar.xz
SOURCES/jknapltx.doc.tar.xz
SOURCES/jknapltx.tar.xz
SOURCES/kastrup.doc.tar.xz
SOURCES/kastrup.source.tar.xz
SOURCES/kastrup.tar.xz
SOURCES/kerkis.doc.tar.xz
SOURCES/kerkis.tar.xz
@ -289,92 +307,97 @@ SOURCES/knuth-local.tar.xz
SOURCES/koma-script.tar.xz
SOURCES/kpathsea.doc.tar.xz
SOURCES/kpathsea.tar.xz
SOURCES/kvdefinekeys.doc.tar.xz
SOURCES/kvdefinekeys.tar.xz
SOURCES/kvoptions.doc.tar.xz
SOURCES/kvoptions.tar.xz
SOURCES/kvsetkeys.doc.tar.xz
SOURCES/kvsetkeys.tar.xz
SOURCES/l3backend.doc.tar.xz
SOURCES/l3backend.tar.xz
SOURCES/l3experimental.doc.tar.xz
SOURCES/l3experimental.source.tar.xz
SOURCES/l3experimental.tar.xz
SOURCES/l3kernel.doc.tar.xz
SOURCES/l3kernel.source.tar.xz
SOURCES/l3kernel.tar.xz
SOURCES/l3packages.doc.tar.xz
SOURCES/l3packages.source.tar.xz
SOURCES/l3packages.tar.xz
SOURCES/lastpage.doc.tar.xz
SOURCES/lastpage.source.tar.xz
SOURCES/lastpage.tar.xz
SOURCES/latex-bin.doc.tar.xz
SOURCES/latex-bin.tar.xz
SOURCES/latex-fonts.doc.tar.xz
SOURCES/latex-fonts.tar.xz
SOURCES/latex.doc.tar.xz
SOURCES/latex.source.tar.xz
SOURCES/latex.tar.xz
SOURCES/latex2man.doc.tar.xz
SOURCES/latex2man.tar.xz
SOURCES/latexbug.doc.tar.xz
SOURCES/latexbug.tar.xz
SOURCES/latexconfig.tar.xz
SOURCES/letltxmacro.doc.tar.xz
SOURCES/letltxmacro.tar.xz
SOURCES/lettrine.doc.tar.xz
SOURCES/lettrine.source.tar.xz
SOURCES/lettrine.tar.xz
SOURCES/linegoal.doc.tar.xz
SOURCES/linegoal.source.tar.xz
SOURCES/linegoal.tar.xz
SOURCES/lineno.doc.tar.xz
SOURCES/lineno.source.tar.xz
SOURCES/lineno.tar.xz
SOURCES/listings.doc.tar.xz
SOURCES/listings.source.tar.xz
SOURCES/listings.tar.xz
SOURCES/listofitems.doc.tar.xz
SOURCES/listofitems.tar.xz
SOURCES/lm-math.doc.tar.xz
SOURCES/lm-math.tar.xz
SOURCES/lm.doc.tar.xz
SOURCES/lm.source.tar.xz
SOURCES/lm.tar.xz
SOURCES/ltabptch.doc.tar.xz
SOURCES/ltabptch.tar.xz
SOURCES/ltxcmds.doc.tar.xz
SOURCES/ltxcmds.tar.xz
SOURCES/ltxmisc.tar.xz
SOURCES/lua-alt-getopt.doc.tar.xz
SOURCES/lua-alt-getopt.tar.xz
SOURCES/luahbtex.doc.tar.xz
SOURCES/luahbtex.tar.xz
SOURCES/lualatex-math.doc.tar.xz
SOURCES/lualatex-math.source.tar.xz
SOURCES/lualatex-math.tar.xz
SOURCES/lualibs.doc.tar.xz
SOURCES/lualibs.source.tar.xz
SOURCES/lualibs.tar.xz
SOURCES/luaotfload.doc.tar.xz
SOURCES/luaotfload.source.tar.xz
SOURCES/luaotfload.tar.xz
SOURCES/luatex.doc.tar.xz
SOURCES/luatex.tar.xz
SOURCES/luatex85.doc.tar.xz
SOURCES/luatex85.source.tar.xz
SOURCES/luatex85.tar.xz
SOURCES/luatexbase.doc.tar.xz
SOURCES/luatexbase.source.tar.xz
SOURCES/luatexbase.tar.xz
SOURCES/lwarp.doc.tar.xz
SOURCES/lwarp.tar.xz
SOURCES/makecmds.doc.tar.xz
SOURCES/makecmds.source.tar.xz
SOURCES/makecmds.tar.xz
SOURCES/makeindex.doc.tar.xz
SOURCES/makeindex.tar.xz
SOURCES/manfnt-font.tar.xz
SOURCES/marginnote.doc.tar.xz
SOURCES/marginnote.source.tar.xz
SOURCES/marginnote.tar.xz
SOURCES/marvosym.doc.tar.xz
SOURCES/marvosym.source.tar.xz
SOURCES/marvosym.tar.xz
SOURCES/mathpazo.doc.tar.xz
SOURCES/mathpazo.source.tar.xz
SOURCES/mathpazo.tar.xz
SOURCES/mathspec.doc.tar.xz
SOURCES/mathspec.tar.xz
SOURCES/mathtools.doc.tar.xz
SOURCES/mathtools.source.tar.xz
SOURCES/mathtools.tar.xz
SOURCES/mdwtools.doc.tar.xz
SOURCES/mdwtools.source.tar.xz
SOURCES/mdwtools.tar.xz
SOURCES/memoir.doc.tar.xz
SOURCES/memoir.source.tar.xz
SOURCES/memoir.tar.xz
SOURCES/metafont.doc.tar.xz
SOURCES/metafont.tar.xz
SOURCES/metalogo.doc.tar.xz
SOURCES/metalogo.source.tar.xz
SOURCES/metalogo.tar.xz
SOURCES/metapost-examples.doc.tar.xz
SOURCES/metapost.doc.tar.xz
@ -382,101 +405,110 @@ SOURCES/metapost.tar.xz
SOURCES/mflogo-font.doc.tar.xz
SOURCES/mflogo-font.tar.xz
SOURCES/mflogo.doc.tar.xz
SOURCES/mflogo.source.tar.xz
SOURCES/mflogo.tar.xz
SOURCES/mfnfss.doc.tar.xz
SOURCES/mfnfss.source.tar.xz
SOURCES/mfnfss.tar.xz
SOURCES/mfware.doc.tar.xz
SOURCES/mfware.tar.xz
SOURCES/microtype.doc.tar.xz
SOURCES/microtype.source.tar.xz
SOURCES/microtype.tar.xz
SOURCES/minitoc.tar.xz
SOURCES/mnsymbol.doc.tar.xz
SOURCES/mnsymbol.source.tar.xz
SOURCES/mnsymbol.tar.xz
SOURCES/modes.doc.tar.xz
SOURCES/modes.tar.xz
SOURCES/mparhack.doc.tar.xz
SOURCES/mparhack.source.tar.xz
SOURCES/mparhack.tar.xz
SOURCES/mptopdf.doc.tar.xz
SOURCES/mptopdf.tar.xz
SOURCES/ms.doc.tar.xz
SOURCES/ms.source.tar.xz
SOURCES/ms.tar.xz
SOURCES/multido.doc.tar.xz
SOURCES/multido.source.tar.xz
SOURCES/multido.tar.xz
SOURCES/multirow.doc.tar.xz
SOURCES/multirow.tar.xz
SOURCES/natbib.doc.tar.xz
SOURCES/natbib.source.tar.xz
SOURCES/natbib.tar.xz
SOURCES/ncctools.doc.tar.xz
SOURCES/ncctools.source.tar.xz
SOURCES/ncctools.tar.xz
SOURCES/ncntrsbk.tar.xz
SOURCES/needspace.doc.tar.xz
SOURCES/needspace.source.tar.xz
SOURCES/needspace.tar.xz
SOURCES/newfloat.doc.tar.xz
SOURCES/newfloat.tar.xz
SOURCES/newunicodechar.doc.tar.xz
SOURCES/newunicodechar.tar.xz
SOURCES/norasi-c90.source.tar.xz
SOURCES/norasi-c90.tar.xz
SOURCES/notoccite.doc.tar.xz
SOURCES/notoccite.tar.xz
SOURCES/ntgclass.doc.tar.xz
SOURCES/ntgclass.source.tar.xz
SOURCES/ntgclass.tar.xz
SOURCES/oberdiek.doc.tar.xz
SOURCES/oberdiek.source.tar.xz
SOURCES/oberdiek.tar.xz
SOURCES/overpic.doc.tar.xz
SOURCES/overpic.tar.xz
SOURCES/palatino.tar.xz
SOURCES/paralist.doc.tar.xz
SOURCES/paralist.source.tar.xz
SOURCES/paralist.tar.xz
SOURCES/parallel.doc.tar.xz
SOURCES/parallel.source.tar.xz
SOURCES/parallel.tar.xz
SOURCES/parskip.doc.tar.xz
SOURCES/parskip.tar.xz
SOURCES/passivetex.tar.xz
SOURCES/pdfcolmk.doc.tar.xz
SOURCES/pdfcolmk.tar.xz
SOURCES/pdfescape.doc.tar.xz
SOURCES/pdfescape.tar.xz
SOURCES/pdflscape.doc.tar.xz
SOURCES/pdflscape.tar.xz
SOURCES/pdfpages.doc.tar.xz
SOURCES/pdfpages.source.tar.xz
SOURCES/pdfpages.tar.xz
SOURCES/pdftex.doc.tar.xz
SOURCES/pdftex.tar.xz
SOURCES/pdftexcmds.doc.tar.xz
SOURCES/pdftexcmds.tar.xz
SOURCES/pgf.doc.tar.xz
SOURCES/pgf.source.tar.xz
SOURCES/pgf.tar.xz
SOURCES/philokalia.doc.tar.xz
SOURCES/philokalia.source.tar.xz
SOURCES/philokalia.tar.xz
SOURCES/placeins.doc.tar.xz
SOURCES/placeins.tar.xz
SOURCES/plain.tar.xz
SOURCES/polyglossia.doc.tar.xz
SOURCES/polyglossia.source.tar.xz
SOURCES/polyglossia.tar.xz
SOURCES/powerdot.doc.tar.xz
SOURCES/powerdot.tar.xz
SOURCES/preprint.doc.tar.xz
SOURCES/preprint.source.tar.xz
SOURCES/preprint.tar.xz
SOURCES/preview.doc.tar.xz
SOURCES/preview.tar.xz
SOURCES/psfrag.doc.tar.xz
SOURCES/psfrag.source.tar.xz
SOURCES/psfrag.tar.xz
SOURCES/pslatex.source.tar.xz
SOURCES/pslatex.tar.xz
SOURCES/psnfss.doc.tar.xz
SOURCES/psnfss.source.tar.xz
SOURCES/psnfss.tar.xz
SOURCES/pspicture.doc.tar.xz
SOURCES/pspicture.source.tar.xz
SOURCES/pspicture.tar.xz
SOURCES/pst-3d.doc.tar.xz
SOURCES/pst-3d.source.tar.xz
SOURCES/pst-3d.tar.xz
SOURCES/pst-arrow.doc.tar.xz
SOURCES/pst-arrow.tar.xz
SOURCES/pst-blur.doc.tar.xz
SOURCES/pst-blur.source.tar.xz
SOURCES/pst-blur.tar.xz
SOURCES/pst-coil.doc.tar.xz
SOURCES/pst-coil.tar.xz
SOURCES/pst-eps.doc.tar.xz
SOURCES/pst-eps.source.tar.xz
SOURCES/pst-eps.tar.xz
SOURCES/pst-fill.doc.tar.xz
SOURCES/pst-fill.source.tar.xz
SOURCES/pst-fill.tar.xz
SOURCES/pst-grad.doc.tar.xz
SOURCES/pst-grad.tar.xz
@ -487,8 +519,10 @@ SOURCES/pst-node.tar.xz
SOURCES/pst-plot.doc.tar.xz
SOURCES/pst-plot.tar.xz
SOURCES/pst-slpe.doc.tar.xz
SOURCES/pst-slpe.source.tar.xz
SOURCES/pst-slpe.tar.xz
SOURCES/pst-text.doc.tar.xz
SOURCES/pst-text.source.tar.xz
SOURCES/pst-text.tar.xz
SOURCES/pst-tools.doc.tar.xz
SOURCES/pst-tools.tar.xz
@ -503,31 +537,26 @@ SOURCES/ptext.tar.xz
SOURCES/pxfonts.doc.tar.xz
SOURCES/pxfonts.tar.xz
SOURCES/qstest.doc.tar.xz
SOURCES/qstest.source.tar.xz
SOURCES/qstest.tar.xz
SOURCES/ragged2e.doc.tar.xz
SOURCES/ragged2e.tar.xz
SOURCES/rcs.doc.tar.xz
SOURCES/rcs.source.tar.xz
SOURCES/rcs.tar.xz
SOURCES/realscripts.doc.tar.xz
SOURCES/realscripts.source.tar.xz
SOURCES/realscripts.tar.xz
SOURCES/refcount.doc.tar.xz
SOURCES/refcount.tar.xz
SOURCES/relsize.doc.tar.xz
SOURCES/relsize.tar.xz
SOURCES/rerunfilecheck.doc.tar.xz
SOURCES/rerunfilecheck.tar.xz
SOURCES/rsfs.doc.tar.xz
SOURCES/rsfs.tar.xz
SOURCES/sansmath.doc.tar.xz
SOURCES/sansmath.tar.xz
SOURCES/sansmathaccent.doc.tar.xz
SOURCES/sansmathaccent.tar.xz
SOURCES/sauerj.doc.tar.xz
SOURCES/sauerj.source.tar.xz
SOURCES/sauerj.tar.xz
SOURCES/scheme-basic.tar.xz
SOURCES/section.doc.tar.xz
SOURCES/section.tar.xz
SOURCES/sectsty.doc.tar.xz
SOURCES/sectsty.source.tar.xz
SOURCES/sectsty.tar.xz
SOURCES/seminar.doc.tar.xz
SOURCES/seminar.tar.xz
@ -535,30 +564,35 @@ SOURCES/sepnum.doc.tar.xz
SOURCES/sepnum.tar.xz
SOURCES/setspace.doc.tar.xz
SOURCES/setspace.tar.xz
SOURCES/sfmath.tar.xz
SOURCES/showexpl.doc.tar.xz
SOURCES/showexpl.source.tar.xz
SOURCES/showexpl.tar.xz
SOURCES/soul.doc.tar.xz
SOURCES/soul.source.tar.xz
SOURCES/soul.tar.xz
SOURCES/stackengine.doc.tar.xz
SOURCES/stackengine.tar.xz
SOURCES/stmaryrd.doc.tar.xz
SOURCES/stmaryrd.source.tar.xz
SOURCES/stmaryrd.tar.xz
SOURCES/stringenc.doc.tar.xz
SOURCES/stringenc.tar.xz
SOURCES/subfig.doc.tar.xz
SOURCES/subfig.source.tar.xz
SOURCES/subfig.tar.xz
SOURCES/subfigure.doc.tar.xz
SOURCES/subfigure.source.tar.xz
SOURCES/subfigure.tar.xz
SOURCES/svn-prov.doc.tar.xz
SOURCES/svn-prov.source.tar.xz
SOURCES/svn-prov.tar.xz
SOURCES/symbol.tar.xz
SOURCES/t2.doc.tar.xz
SOURCES/t2.tar.xz
SOURCES/tabu.doc.tar.xz
SOURCES/tabu.source.tar.xz
SOURCES/tabu.tar.xz
SOURCES/tabulary.doc.tar.xz
SOURCES/tabulary.source.tar.xz
SOURCES/tabulary.tar.xz
SOURCES/tetex.doc.tar.xz
SOURCES/tetex.tar.xz
SOURCES/tex-gyre-math.doc.tar.xz
SOURCES/tex-gyre-math.tar.xz
SOURCES/tex-gyre.doc.tar.xz
@ -569,7 +603,8 @@ SOURCES/tex.doc.tar.xz
SOURCES/tex.tar.xz
SOURCES/tex4ht.doc.tar.xz
SOURCES/tex4ht.tar.xz
SOURCES/texlive-20200406-source-clean.tar.xz
SOURCES/texlive-20180414-poppler-20.11.0-luatex.patch
SOURCES/texlive-20180414-source.tar.xz
SOURCES/texlive-common.doc.tar.xz
SOURCES/texlive-docindex.doc.tar.xz
SOURCES/texlive-docindex.tar.xz
@ -577,16 +612,15 @@ SOURCES/texlive-en.doc.tar.xz
SOURCES/texlive-en.tar.xz
SOURCES/texlive-licenses.tar.xz
SOURCES/texlive-msg-translations.tar.xz
SOURCES/texlive-scripts-extra.doc.tar.xz
SOURCES/texlive-scripts-extra.tar.xz
SOURCES/texlive-scripts.doc.tar.xz
SOURCES/texlive-scripts.tar.xz
SOURCES/texlive.infra.doc.tar.xz
SOURCES/texlive.infra.tar.xz
SOURCES/texlive.tlpdb.xz
SOURCES/textcase.doc.tar.xz
SOURCES/textcase.source.tar.xz
SOURCES/textcase.tar.xz
SOURCES/textpos.doc.tar.xz
SOURCES/textpos.source.tar.xz
SOURCES/textpos.tar.xz
SOURCES/threeparttable.doc.tar.xz
SOURCES/threeparttable.tar.xz
@ -598,23 +632,27 @@ SOURCES/tipa.tar.xz
SOURCES/titlesec.doc.tar.xz
SOURCES/titlesec.tar.xz
SOURCES/titling.doc.tar.xz
SOURCES/titling.source.tar.xz
SOURCES/titling.tar.xz
SOURCES/tocloft.doc.tar.xz
SOURCES/tocloft.source.tar.xz
SOURCES/tocloft.tar.xz
SOURCES/tools.doc.tar.xz
SOURCES/tools.source.tar.xz
SOURCES/tools.tar.xz
SOURCES/translator.doc.tar.xz
SOURCES/translator.tar.xz
SOURCES/trimspaces.doc.tar.xz
SOURCES/trimspaces.source.tar.xz
SOURCES/trimspaces.tar.xz
SOURCES/txfonts.doc.tar.xz
SOURCES/txfonts.tar.xz
SOURCES/type1cm.doc.tar.xz
SOURCES/type1cm.source.tar.xz
SOURCES/type1cm.tar.xz
SOURCES/typehtml.doc.tar.xz
SOURCES/typehtml.source.tar.xz
SOURCES/typehtml.tar.xz
SOURCES/ucharcat.doc.tar.xz
SOURCES/ucharcat.tar.xz
SOURCES/ucharclasses.doc.tar.xz
SOURCES/ucharclasses.tar.xz
SOURCES/ucs.doc.tar.xz
@ -628,13 +666,13 @@ SOURCES/underscore.tar.xz
SOURCES/unicode-data.doc.tar.xz
SOURCES/unicode-data.tar.xz
SOURCES/unicode-math.doc.tar.xz
SOURCES/unicode-math.source.tar.xz
SOURCES/unicode-math.tar.xz
SOURCES/uniquecounter.doc.tar.xz
SOURCES/uniquecounter.tar.xz
SOURCES/unisugar.doc.tar.xz
SOURCES/unisugar.tar.xz
SOURCES/updmap-map.tar.xz
SOURCES/upquote.doc.tar.xz
SOURCES/upquote.source.tar.xz
SOURCES/upquote.tar.xz
SOURCES/url.doc.tar.xz
SOURCES/url.tar.xz
@ -645,20 +683,24 @@ SOURCES/varwidth.tar.xz
SOURCES/wadalab.doc.tar.xz
SOURCES/wadalab.tar.xz
SOURCES/was.doc.tar.xz
SOURCES/was.source.tar.xz
SOURCES/was.tar.xz
SOURCES/wasy-type1.doc.tar.xz
SOURCES/wasy-type1.tar.xz
SOURCES/wasy.doc.tar.xz
SOURCES/wasy.tar.xz
SOURCES/wasy2-ps.doc.tar.xz
SOURCES/wasy2-ps.tar.xz
SOURCES/wasysym.doc.tar.xz
SOURCES/wasysym.source.tar.xz
SOURCES/wasysym.tar.xz
SOURCES/wrapfig.doc.tar.xz
SOURCES/wrapfig.tar.xz
SOURCES/xcolor.doc.tar.xz
SOURCES/xcolor.source.tar.xz
SOURCES/xcolor.tar.xz
SOURCES/xdvi.doc.tar.xz
SOURCES/xdvi.tar.xz
SOURCES/xecjk.doc.tar.xz
SOURCES/xecjk.source.tar.xz
SOURCES/xecjk.tar.xz
SOURCES/xecolor.doc.tar.xz
SOURCES/xecolor.tar.xz
@ -667,6 +709,7 @@ SOURCES/xecyr.tar.xz
SOURCES/xeindex.doc.tar.xz
SOURCES/xeindex.tar.xz
SOURCES/xepersian.doc.tar.xz
SOURCES/xepersian.source.tar.xz
SOURCES/xepersian.tar.xz
SOURCES/xesearch.doc.tar.xz
SOURCES/xesearch.tar.xz
@ -684,21 +727,20 @@ SOURCES/xetexfontinfo.tar.xz
SOURCES/xifthen.doc.tar.xz
SOURCES/xifthen.tar.xz
SOURCES/xkeyval.doc.tar.xz
SOURCES/xkeyval.source.tar.xz
SOURCES/xkeyval.tar.xz
SOURCES/xltxtra.doc.tar.xz
SOURCES/xltxtra.source.tar.xz
SOURCES/xltxtra.tar.xz
SOURCES/xmltex.doc.tar.xz
SOURCES/xmltex.tar.xz
SOURCES/xmltexconfig.tar.xz
SOURCES/xpatch.doc.tar.xz
SOURCES/xpatch.tar.xz
SOURCES/xstring.doc.tar.xz
SOURCES/xstring.tar.xz
SOURCES/xtab.doc.tar.xz
SOURCES/xtab.source.tar.xz
SOURCES/xtab.tar.xz
SOURCES/xunicode.doc.tar.xz
SOURCES/xunicode.tar.xz
SOURCES/zapfchan.tar.xz
SOURCES/zapfding.tar.xz
SOURCES/zref.doc.tar.xz
SOURCES/zref.tar.xz

File diff suppressed because it is too large Load Diff

@ -1,36 +0,0 @@
#! /bin/sh
v=20200406
s=texlive-$v-source.tar.xz
p=${s%.tar.xz}
# get the texlive original source
if [ ! -f $s ] ; then
echo download $s, please wait...
wget https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/2020/$s
if [ ! -f $s ] ; then
echo download $s failed!
exit 1
fi
fi
# remove old source
if [ -d $p ] ; then
rm -fr $p
fi
echo extracting the $s...
if ( ! tar Jxf $s ) ; then
echo $s failed, cannot be extracted
exit 1
fi
# remove files with bad licenses, don't embeded zziplib but build with system lib
rm -rf $p/libs/zziplib
rm -rf $p/texk/ps2pk
# create clean texlive source
echo create the clean texlive source, please wait...
if ( tar Jcf $p-clean.tar.xz $p) ; then
echo clean texlive source $p-clean.tar.xz is created.
else
echo failed, clean texlive source $p-clean.tar.xz cannot be created.
fi

@ -1,25 +0,0 @@
--- etex.src.orig 2015-09-16 14:17:48.263123165 -0400
+++ etex.src 2015-09-16 14:14:20.673610421 -0400
@@ -290,8 +290,10 @@
\def \addlanguage #1#2#3#4#5% language patterns exceptions lhm rhm
{\expandafter \et@xlang \csname lang@#1\endcsname
- \expandafter \chardef \csname lhm@#1\endcsname=#4 % V1.0-1
- \expandafter \chardef \csname rhm@#1\endcsname=#5 % V1.0-1
+ \def\paramD{#4}\ifx\paramD\empty\def\paramD{1}\fi % Default value lhm is 1 % V2.1-1
+ \def\paramE{#5}\ifx\paramD\empty\def\paramE{1}\fi % Default value rhm is 1 % V2.1-1
+ \expandafter \chardef \csname lhm@#1\endcsname=\paramD % V2.1-1
+ \expandafter \chardef \csname rhm@#1\endcsname=\paramE % V2.1-1
\uselanguage {#1}%
\input #2
\if *#3*\else \input #3 \fi
@@ -776,6 +778,9 @@
%% Revision-history:
+24-ARP-2015: 2.1;1 Allow empty values on \addlanguages for parameters 4 and 5
+ Changed by Edgar Hoch
+
01-FEB-1999: 2.1;0 Allow file to be used with e-TeX versions 2.0 and 2.1
25-MAR-1998: 2.0;19 Improved log message for \{glob|loc}{marks|box}vector (PEB)

@ -1,22 +0,0 @@
#!/bin/bash
# Regenerate the fmtutil.cnf file from the pieces which are currently present
# in the fmtutil.cnf.d directory.
# Abort immediately if any command fails
set -o errexit
shopt -s nullglob
texdir=$1
[[ -z $texdir ]] && texdir=/usr/share/texlive
web2cdir=$texdir/texmf-dist/web2c
rm -f $web2cdir/fmtutil.cnf.rpmtmp
echo "# Generated by $0 on $(date)" > $web2cdir/fmtutil.cnf.rpmtmp
cat $web2cdir/fmtutil-hdr.cnf \
$texdir/fmtutil.cnf.d/* \
>> $web2cdir/fmtutil.cnf.rpmtmp
mv $web2cdir/fmtutil.cnf.rpmtmp $web2cdir/fmtutil.cnf

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2020 Tom Callaway <spot AT fedoraproject DOT org> -->
<component type="font">
<id>gnu-freefont</id>
<metadata_license>CC-BY-3.0</metadata_license>
<name>GNU Free font</name>
<summary>A Unicode font, with rather wide coverage</summary>
<description>
<p>
The package provides a set of outline (i.e. OpenType) fonts covering
as much as possible of the Unicode character set. The set consists of
three typefaces: one monospaced and two proportional (one with uniform
and one with modulated stroke).
</p>
</description>
<updatecontact>spotrh_at_gmail_dot_com</updatecontact>
<url type="homepage">https://ctan.org/pkg/gnu-freefont</url>
</component>

@ -1,39 +0,0 @@
--- tabu.sty.old 2019-01-14 17:10:48.000000000 -0500
+++ tabu.sty 2019-12-11 09:16:55.745034664 -0500
@@ -52,12 +52,12 @@
%% lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
%%
%% Updated 2019-01-11
-%% Copyright 2019 tabu-fixed github group (LaTeX3 Project members)
-%% Please report any issues at https://github.com/tabu-fixed/tabu
+%% Copyright 2019 tabu-issues-for-future-maintainer github group (LaTeX3 Project members)
+%% Please report any issues at https://github.com/tabu-issues-for-future-maintainer/tabu
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed)]
+\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-issues-for-future-maintainer) + intermediate FMi]
\RequirePackage{array}[2008/09/09]
\RequirePackage{varwidth}[2009/03/30]
\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
@@ -727,6 +727,10 @@
\tabu@currentgrouptype\expandafter{\the\currentgrouptype}}%
\fi
}% \tabu@init
+%%TABU-FIXED set up \tabu@currentgrouptype
+%FMi cancel for nested arrays ...
+\def\@tabarray{\m@th\def\tabu@currentgrouptype{\currentgrouptype}\@ifnextchar[\@array{\@array[c]}}
+
\def\tabu@indent{% correction for indentation
\ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget
\everypar\expandafter{%
@@ -1663,6 +1667,9 @@
\ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target
\tabu@target=\tabu@temp\tabucolX \fi\fi
\setbox\tabu@box \hbox \bgroup
+%%TABU-FIXED add \color@begingroup
+%%FMi not yet understood why this one is also needed ...
+ \color@begingroup
\begin{varwidth}\tabu@target
\let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width...
\narrowragged \arraybackslash \parfillskip \@flushglue

@ -3,7 +3,7 @@ diff -up doc/xelatex/xepersian/dkun-0.3.py.than doc/xelatex/xepersian/dkun-0.3.p
+++ doc/xelatex/xepersian/dkun-0.3.py 2018-05-07 11:53:32.984620222 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
+#! /usr/bin/python3
#########################################
# General Public License #
@ -46,7 +46,7 @@ diff -up doc/xelatex/xepersian/dkun-0.4.py.than doc/xelatex/xepersian/dkun-0.4.p
+++ doc/xelatex/xepersian/dkun-0.4.py 2018-05-07 11:54:32.272822907 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
+#! /usr/bin/python3
#########################################
# General Public License #
@ -87,12 +87,14 @@ diff -up doc/xelatex/xepersian/dkun-0.4.py.than doc/xelatex/xepersian/dkun-0.4.p
diff -up doc/xelatex/xepersian/ftxe-0.12.py.than doc/xelatex/xepersian/ftxe-0.12.py
--- doc/xelatex/xepersian/ftxe-0.12.py.than 2018-05-07 11:54:55.163901164 +0200
+++ doc/xelatex/xepersian/ftxe-0.12.py 2018-05-07 11:57:58.063526433 +0200
@@ -1,3 +1,5 @@
+#! /usr/bin/python
@@ -1,4 +1,6 @@
-# This program is free software: you can redistribute it and/or modify
+#! /usr/bin/python3
+
# This program is free software: you can redistribute it and/or modify
+# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
@@ -488,7 +490,7 @@ def read_size(input,index,last_index):
dim_index = pt_index
next_cmd = input.find(u'\\', index)
@ -190,7 +192,7 @@ diff -up doc/xelatex/xepersian/undk-0.6.py.than doc/xelatex/xepersian/undk-0.6.p
+++ doc/xelatex/xepersian/undk-0.6.py 2018-05-07 11:59:18.079799981 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
+#! /usr/bin/python3
#########################################
# General Public License #
# Author: Mostafa Vahedi #
@ -242,7 +244,7 @@ diff -up doc/xelatex/xepersian/unldk-0.2.py.than doc/xelatex/xepersian/unldk-0.2
+++ doc/xelatex/xepersian/unldk-0.2.py 2018-05-07 12:00:21.999018500 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
+#! /usr/bin/python3
#########################################
# General Public License #
# Author: Mostafa Vahedi #

File diff suppressed because it is too large Load Diff

@ -0,0 +1,40 @@
diff -up texlive-20180414/source/texk/dvipsk/writet1.c.CVE-2018-17407 texlive-20180414/source/texk/dvipsk/writet1.c
--- texlive-20180414/source/texk/dvipsk/writet1.c.CVE-2018-17407 2018-09-26 08:37:29.964110003 +0100
+++ texlive-20180414/source/texk/dvipsk/writet1.c 2018-09-26 08:38:06.454784619 +0100
@@ -1449,7 +1449,9 @@ static void t1_check_unusual_charstring(
*(strend(t1_buf_array) - 1) = ' ';
t1_getline();
+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE);
strcat(t1_buf_array, t1_line_array);
+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE);
strcpy(t1_line_array, t1_buf_array);
t1_line_ptr = eol(t1_line_array);
}
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w.CVE-2018-17407 texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w.CVE-2018-17407 2018-09-26 08:34:35.340880599 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w 2018-09-26 08:35:45.992187544 +0100
@@ -1624,8 +1624,10 @@ static void t1_check_unusual_charstring(
/* if no number follows "/CharStrings", let's read the next line */
if (sscanf(p, "%i", &i) != 1) {
strcpy(t1_buf_array, t1_line_array);
+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE);
t1_getline();
strcat(t1_buf_array, t1_line_array);
+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE);
strcpy(t1_line_array, t1_buf_array);
t1_line_ptr = eol(t1_line_array);
}
diff -up texlive-20180414/source/texk/web2c/pdftexdir/writet1.c.CVE-2018-17407 texlive-20180414/source/texk/web2c/pdftexdir/writet1.c
--- texlive-20180414/source/texk/web2c/pdftexdir/writet1.c.CVE-2018-17407 2018-09-26 08:36:06.382564736 +0100
+++ texlive-20180414/source/texk/web2c/pdftexdir/writet1.c 2018-09-26 08:37:12.213781850 +0100
@@ -1598,7 +1598,9 @@ static void t1_check_unusual_charstring(
*(strend(t1_buf_array) - 1) = ' ';
t1_getline();
+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE);
strcat(t1_buf_array, t1_line_array);
+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE);
strcpy(t1_line_array, t1_buf_array);
t1_line_ptr = eol(t1_line_array);
}

@ -0,0 +1,34 @@
diff -up doc/latex/beamer/beamer-doc-test.sh.orig doc/latex/beamer/beamer-doc-test.sh
--- doc/latex/beamer/beamer-doc-test.sh.orig 2022-12-12 11:09:20.845608798 +0100
+++ doc/latex/beamer/beamer-doc-test.sh 2022-12-12 11:10:23.512743150 +0100
@@ -0,0 +1,30 @@
+#
+# shellscript to build beameruserguide without using l3build doc
+#
+
+for t in default circles rectangles rounded inmargin ; do
+ pdflatex "\def\themename{$t}\input beamerinnerthemeexample.tex"
+ mv beamerinnerthemeexample.pdf beameruginnertheme$t.pdf
+done
+
+for t in default crane albatross seahorse whale dolphin rose orchid sidebartab lily structure dove seagull beetle fly wolverine spruce beaver monarca albatrossstylish ; do
+ pdflatex "\def\themename{$t}\input beamercolorthemeexample.tex"
+ mv beamercolorthemeexample.pdf beamerugcolortheme$t.pdf
+done
+
+for t in default serif structurebold structureitalicserif structuresmallcapsserif ; do
+ pdflatex "\def\themename{$t}\input beamerfontthemeexample.tex"
+ mv beamerfontthemeexample.pdf beamerugfonttheme$t.pdf
+done
+
+for t in default infolines miniframes shadow sidebar smoothbars smoothtree split tree ; do
+ pdflatex "\def\themename{$t}\input beamerouterthemeexample.tex"
+ mv beamerouterthemeexample.pdf beamerugoutertheme$t.pdf
+done
+
+for t in AnnArbor Antibes Berkeley Berlin Bergen Boadilla Copenhagen Darmstadt Dresden EastLansing Frankfurt Goettingen Hannover Ilmenau JuanLesPins Luebeck Malmoe Madrid Marburg Montpellier PaloAlto Pittsburgh Rochester Singapore Szeged Warsaw CambridgeUS default boxes ; do
+ pdflatex "\def\themename{$t}\input beamerthemeexample.tex"
+ mv beamerthemeexample.pdf beamerugtheme$t.pdf
+done
+
+pdflatex beameruserguide

@ -0,0 +1,812 @@
diff -up texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c.me texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c
--- texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c.me 2018-08-14 10:08:29.573912544 +0100
+++ texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c 2018-09-24 09:18:24.640331882 +0100
@@ -4327,7 +4327,7 @@ if(lh->v.u.s.info==v->u.s.info){
conflict=1;
lh->v.u.s.info=extra;
}
-if(lh->v.u.s.aux==v->u.s.info){
+if(lh->v.u.s.aux==v->u.s.aux){
conflict=1;
lh->v.u.s.aux=extra;
}
diff -up texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py.me texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py
--- texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py.me 2018-08-14 10:34:45.827143276 +0100
+++ texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py 2018-08-14 10:35:09.287578374 +0100
@@ -951,7 +951,7 @@ def docbook_refpages_perheader(page_list
header[file].copyright = page.copyright
if not header[file].authors and page.authors:
header[file].authors = page.authors
- if not header[file].authors and page.authors_list:
+ if not header[file].authors_list and page.authors_list:
header[file].authors_list = page.authors_list
if not header[file].description:
found = m(commands.getoutput("cat "+o.package+".spec"),
diff -up texlive-20180414/source/texk/dvipdfm-x/cid.c.me texlive-20180414/source/texk/dvipdfm-x/cid.c
--- texlive-20180414/source/texk/dvipdfm-x/cid.c.me 2018-08-14 14:23:43.959754741 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/cid.c 2018-09-24 10:52:23.863792313 +0100
@@ -636,6 +636,7 @@ CIDFont_cache_find (const char *map_name
CIDFONT_FLAG_TYPE1C) < 0 &&
CIDFont_base_open (font, map_name, cmap_csi, opt) < 0) {
CIDFont_release(font);
+ RELEASE(font);
release_opt(opt);
return -1;
} else {
diff -up texlive-20180414/source/texk/dvipdfm-x/dvi.c.me texlive-20180414/source/texk/dvipdfm-x/dvi.c
--- texlive-20180414/source/texk/dvipdfm-x/dvi.c.me 2018-08-14 14:31:53.138750339 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/dvi.c 2018-08-14 14:41:37.729500250 +0100
@@ -1001,8 +1001,11 @@ dvi_locate_native_font (const char *file
char *enc_vec[256];
fp = DPXFOPEN(filename, DPX_RES_TYPE_T1FONT);
- if (!fp)
+ if (!fp) {
+ if (path)
+ free(path);
return -1;
+ }
if (!is_pfb(fp))
ERROR("Failed to read Type 1 font \"%s\".", filename);
diff -up texlive-20180414/source/texk/dvipdfm-x/fontmap.c.me texlive-20180414/source/texk/dvipdfm-x/fontmap.c
--- texlive-20180414/source/texk/dvipdfm-x/fontmap.c.me 2018-09-24 12:45:22.068268381 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/fontmap.c 2018-09-24 12:45:13.508111517 +0100
@@ -849,8 +849,8 @@ pdf_insert_fontmap_record (const char *k
subfont_ids = sfd_get_subfont_ids(sfd_name, &n);
if (!subfont_ids) {
RELEASE(fnt_name);
- RELEASE(sfd_name);
WARN("Could not open SFD file: %s", sfd_name);
+ RELEASE(sfd_name);
return NULL;
}
if (verbose > 3)
diff -up texlive-20180414/source/texk/dvipdfm-x/otl_conf.c.me texlive-20180414/source/texk/dvipdfm-x/otl_conf.c
--- texlive-20180414/source/texk/dvipdfm-x/otl_conf.c.me 2018-09-24 12:55:36.589529234 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/otl_conf.c 2018-09-24 12:55:27.339359728 +0100
@@ -83,6 +83,7 @@ parse_uc_coverage (pdf_obj *gclass, cons
pdf_add_array(coverage,
pdf_link_obj(pdf_get_array(cvalues, i)));
}
+ RELEASE(glyphclass);
}
break;
default:
diff -up texlive-20180414/source/texk/dvipdfm-x/otl_opt.c.me texlive-20180414/source/texk/dvipdfm-x/otl_opt.c
--- texlive-20180414/source/texk/dvipdfm-x/otl_opt.c.me 2018-09-24 13:00:10.034538046 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/otl_opt.c 2018-09-24 13:13:31.949224947 +0100
@@ -134,6 +134,7 @@ parse_expr (const char **pp, const char
expr = parse_expr(pp, endptr);
if (!expr) {
WARN("Syntax error: %s\n", *pp);
+ bt_release_tree(root);
return NULL;
}
if (**pp != ')') {
diff -up texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c.me texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c
--- texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c.me 2018-09-24 13:04:07.928895033 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c 2018-09-24 13:04:39.329470128 +0100
@@ -825,7 +825,7 @@ pdf_doc_close_page_tree (pdf_doc *p)
pdf_page *page;
page = doc_get_page_entry(p, page_no);
- if (page->page_obj) {
+ if (page->page_ref) {
WARN("Nonexistent page #%ld refered.", page_no);
pdf_release_obj(page->page_ref);
page->page_ref = NULL;
diff -up texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c.me texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c
--- texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c.me 2018-09-24 13:05:05.679952732 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c 2018-09-24 13:10:25.655813021 +0100
@@ -616,7 +616,7 @@ pdf_enc_set_passwd (unsigned int bits, u
}
if (uplain) {
if (preproc_password(uplain, upasswd, p->V) < 0)
- WARN("Invalid UTF-8 string for passowrd.");
+ WARN("Invalid UTF-8 string for password.");
} else {
while (1) {
strncpy(input, getpass("User password: "), MAX_PWD_LEN);
diff -up texlive-20180414/source/texk/dvipdfm-x/pdfobj.c.me texlive-20180414/source/texk/dvipdfm-x/pdfobj.c
--- texlive-20180414/source/texk/dvipdfm-x/pdfobj.c.me 2018-09-24 13:12:23.727975488 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pdfobj.c 2018-09-24 13:12:43.988346552 +0100
@@ -1862,8 +1862,9 @@ apply_filter_TIFF2_1_2_4 (unsigned char
}
}
}
- if (outbits > 0)
+ if (outbits > 0) {
raster[k] = (outbuf << (8 - outbits)); k++;
+ }
}
RELEASE(prev);
}
diff -up texlive-20180414/source/texk/dvipdfm-x/pkfont.c.me texlive-20180414/source/texk/dvipdfm-x/pkfont.c
--- texlive-20180414/source/texk/dvipdfm-x/pkfont.c.me 2018-09-24 13:14:24.490187294 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pkfont.c 2018-09-24 13:17:33.873656807 +0100
@@ -329,6 +329,7 @@ pk_decode_bitmap (pdf_obj *stream, uint3
}
}
+ free(rowptr);
return 0;
}
diff -up texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c.me texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c
--- texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c.me 2018-09-24 13:20:43.777135845 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c 2018-09-24 13:45:28.104313939 +0100
@@ -402,6 +402,7 @@ spc_handler_ps_tricks_bput (struct spc_e
temporary_defs = dpx_create_temp_file();
if (!temporary_defs) {
WARN("Failed to create temporary input file for PSTricks image conversion.");
+ free(formula);
return -1;
}
@@ -455,7 +456,7 @@ spc_handler_ps_tricks_brotate (struct sp
if (calculate_PS(cmd, strlen(cmd), &value, 0, 0, 0, 0, 0) != 0)
return -1;
RAngles[RAngleCount] = value;
-
+ free(cmd);
return spc_handler_xtx_do_transform (spe->x_user, spe->y_user,
cos(value * M_PI / 180), sin(value * M_PI / 180),
-sin(value * M_PI / 180), cos(value * M_PI / 180),
@@ -491,12 +492,17 @@ spc_handler_ps_tricks_transform (struct
concat[strlen(post)] = 0;
concat = strstr(cmd, "{");
*concat = ' ';
- if (calculate_PS(cmd, strlen(cmd), &d1, &d2, &d3, &d4, &d5, &d6) != 0)
+ if (calculate_PS(cmd, strlen(cmd), &d1, &d2, &d3, &d4, &d5, &d6) != 0) {
+ free(cmd);
return -1;
- if (spc_handler_xtx_gsave (0, 0) != 0)
+ }
+ if (spc_handler_xtx_gsave (0, 0) != 0) {
+ free(cmd);
return -1;
+ }
return spc_handler_xtx_do_transform (spe->x_user, spe->y_user, d1, d2, d3, d4, d5, d6);
}
+ free(cmd);
return spc_handler_xtx_grestore (0, 0);
}
@@ -570,7 +576,8 @@ spc_handler_ps_tricks_parse_path (struct
fwrite(args->curptr, 1, clip - args->curptr, fp);
fprintf(fp, " stroke ");
skip_white(&clip, args->endptr);
- parse_ident(&clip, args->endptr);
+ char *token = parse_ident(&clip, args->endptr);
+ free(token);
fwrite(clip, 1, args->endptr - clip, fp);
}
#endif
@@ -610,7 +617,9 @@ spc_handler_ps_tricks_parse_path (struct
if (error) {
WARN("Image format conversion for PSTricks failed.");
RELEASE(gs_in);
+ RELEASE(gs_out);
gs_in = 0;
+ gs_out = 0;
return error;
}
@@ -706,6 +715,7 @@ spc_handler_ps_tricks_render (struct spc
WARN("Image format conversion for PSTricks failed.");
RELEASE(gs_in);
gs_in = 0;
+ RELEASE(gs_out);
return error;
}
@@ -1074,9 +1084,10 @@ int calculate_PS (char *string, int leng
fscanf(coord, " %lf %lf ", res1, res2);
else
fscanf(coord, " [%lf %lf %lf %lf %lf %lf] ", res1, res2, res3, res4, res5, res6);
- } else
+ } else {
+ RELEASE(cmd);
return -1;
-
+ }
pclose(coord);
RELEASE(cmd);
dpx_delete_temp_file(formula, true);
diff -up texlive-20180414/source/texk/dvipdfm-x/spc_util.c.me texlive-20180414/source/texk/dvipdfm-x/spc_util.c
--- texlive-20180414/source/texk/dvipdfm-x/spc_util.c.me 2018-09-24 13:50:50.730216569 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/spc_util.c 2018-09-24 13:54:23.844113385 +0100
@@ -149,6 +149,7 @@ spc_read_color_color (struct spc_env *sp
char *color_name = parse_c_ident(&ap->curptr, ap->endptr);
if (!color_name) {
spc_warn(spe, "No valid spot color name specified?");
+ RELEASE(q);
return -1;
}
skip_blank(&ap->curptr, ap->endptr);
diff -up texlive-20180414/source/texk/dvipdfm-x/t1_load.c.me texlive-20180414/source/texk/dvipdfm-x/t1_load.c
--- texlive-20180414/source/texk/dvipdfm-x/t1_load.c.me 2018-09-24 13:55:59.085854887 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/t1_load.c 2018-09-24 13:58:52.979034543 +0100
@@ -632,6 +632,9 @@ parse_subrs (cff_font *font,
if (!PST_INTEGERTYPE(tok) || pst_getIV(tok) < 0 ||
pst_getIV(tok) > CS_STR_LEN_MAX) {
RELEASE_TOK(tok);
+ if (offsets) RELEASE(offsets);
+ if (data) RELEASE(data);
+ if (lengths) RELEASE(lengths);
return -1;
}
len = pst_getIV(tok);
diff -up texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c.me texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c
--- texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c.me 2018-09-24 14:03:33.954172208 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c 2018-09-24 14:07:07.738081269 +0100
@@ -1237,6 +1237,7 @@ otf_create_ToUnicode_stream (const char
res_id = pdf_findresource("CMap", cmap_name);
if (res_id >= 0) {
RELEASE(cmap_name);
+ RELEASE(normalized_font_name);
cmap_ref = pdf_get_resource_reference(res_id);
return cmap_ref;
}
@@ -1254,6 +1255,7 @@ otf_create_ToUnicode_stream (const char
sfont = dfont_open(fp, ttc_index);
} else {
RELEASE(cmap_name);
+ RELEASE(normalized_font_name);
return NULL;
}
diff -up texlive-20180414/source/texk/dvipng/dvipng-src/font.c.me texlive-20180414/source/texk/dvipng/dvipng-src/font.c
diff -up texlive-20180414/source/texk/dvipng/dvipng-src/misc.c.me texlive-20180414/source/texk/dvipng/dvipng-src/misc.c
diff -up texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c.me texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c
--- texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c.me 2018-09-24 14:25:21.188076748 +0100
+++ texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c 2018-09-24 14:28:14.741252282 +0100
@@ -139,8 +139,10 @@ struct psfontmap* FindSubFont(struct psf
sfdname[postfix-sfdspec]='\0';
/* Check postfix */
postfix++;
- if (strcmp(sfdwant+strlen(sfdwant)-strlen(postfix),postfix)!=0)
+ if (strcmp(sfdwant+strlen(sfdwant)-strlen(postfix),postfix)!=0) {
+ free(sfdname);
return(NULL);
+ }
/* Extract infix */
if ((infix=malloc(strlen(sfdwant)-strlen(postfix)+1))==NULL)
Fatal("cannot allocate memory for subfont infix");
diff -up texlive-20180414/source/texk/dvipos/dvipos.c.me texlive-20180414/source/texk/dvipos/dvipos.c
--- texlive-20180414/source/texk/dvipos/dvipos.c.me 2018-09-24 14:28:22.821400126 +0100
+++ texlive-20180414/source/texk/dvipos/dvipos.c 2018-09-24 14:33:37.367155421 +0100
@@ -246,7 +246,7 @@ int main (int argc, char *argv[])
if (infname) free(infname);
if (outfname) free(outfname);
- if (bbxfname) free(frmfname);
+ if (bbxfname) free(bbxfname);
if (frmfname) free(frmfname);
if (outfp) fclose(outfp);
diff -up texlive-20180414/source/texk/dvipsk/dospecial.c.me texlive-20180414/source/texk/dvipsk/dospecial.c
diff -up texlive-20180414/source/texk/dvipsk/emspecial.c.me texlive-20180414/source/texk/dvipsk/emspecial.c
--- texlive-20180414/source/texk/dvipsk/emspecial.c.me 2018-09-24 15:01:40.267917277 +0100
+++ texlive-20180414/source/texk/dvipsk/emspecial.c 2018-09-24 15:20:25.108474385 +0100
@@ -811,8 +813,10 @@ MSP_2_ps(FILE *f, int wide, int high)
linelen = (halfword *) mymalloc((integer)sizeof(halfword) * high);
for (i = 0; i < high; i++) {
linelen[i] = readhalfword(f);
- if (feof(f))
+ if (feof(f)) {
+ free(linelen);
return;
+ }
}
line = (char *) mymalloc((integer)tobyte(wide));
@@ -1308,6 +1312,8 @@ bmpgraph(FILE *f, char *filename, float
default:
sprintf(errbuf,"em:graph: Unknown BMP compression\n");
specerror(errbuf);
+ if (line) free(line);
+ if (pshexa) free(pshexa);
return;
}
--- texlive-20180414/source/texk/dvipsk/t1part.c.me 2018-09-24 15:47:04.767750977 +0100
+++ texlive-20180414/source/texk/dvipsk/t1part.c 2018-09-24 16:02:33.294747092 +0100
@@ -2458,6 +2458,7 @@ Afm(void)
}
}
}
+ fclose(fafm);
return -2;
}
@@ -2526,6 +2527,7 @@ FontPart(FILE *fout, unsigned char *font
NameOfProgram();
(void) fprintf(stderr,
"Error: %s is not a valid PFA file\n", fontfile);
+ fclose(fin);
return -1;
}
@@ -2543,6 +2545,7 @@ FontPart(FILE *fout, unsigned char *font
NameOfProgram();
(void) fprintf(stderr,
"Error: %s is not a valid PFB file\n", fontfile);
+ fclose(fin);
return -1;
}
break;
@@ -2677,6 +2680,7 @@ LoadVector(int num, CHAR *TmpChar)
}
else
{
+ fclose(fvect);
fprintf(stderr,"\n Error: ending token 'def' not found in <%s> \n",
psvectfile);
return -2;
diff -up texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c.me texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c
--- texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c.me 2018-09-25 08:19:26.742304540 +0100
+++ texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c 2018-09-25 08:20:04.753003584 +0100
@@ -1289,9 +1289,9 @@ return;
unit.x = from->nextcp.x-from->me.x;
unit.y = from->nextcp.y-from->me.y;
len = sqrt(unit.x*unit.x + unit.y*unit.y);
- if ( len!=0 )
+ if ( len!=0 ) {
unit.x /= len; unit.y /= len;
-
+ }
if ( (fpt = from->pointtype)==pt_hvcurve ) fpt = pt_curve;
if ( (tpt = to->pointtype)==pt_hvcurve ) tpt = pt_curve;
if ( from->nextcpdef && to->prevcpdef ) switch ( fpt*3+tpt ) {
diff -up texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c.me texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c
--- texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c.me 2018-09-25 09:12:58.071419844 +0100
+++ texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c 2018-09-25 09:12:50.021271829 +0100
@@ -4273,9 +4273,10 @@ return( NULL );
(subheadcnt-i)*sizeof(struct subhead) + sizeof(uint16);
sub = tmpfile2();
- if ( sub==NULL )
-return( NULL );
-
+ if ( sub==NULL ) {
+ free(glyphs);
+ return( NULL );
+ }
putshort(sub,2); /* 8/16 format */
putshort(sub,0); /* Subtable length, we'll come back and fix this */
putshort(sub,0); /* version/language, not meaningful in ms systems */
diff -up texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c.me texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c
--- texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c.me 2018-09-25 09:50:27.032676224 +0100
+++ texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c 2018-09-25 09:47:22.249288133 +0100
@@ -1343,6 +1343,8 @@ static void pfed_read_glyph_layer(FILE *
LogError(_("Whoops, Ran out of spiros\n"));
}
}
+ free(cur->layers);
+ free(cur);
free(contours);
}
diff -up texlive-20180414/source/texk/kpathsea/cnf.c.me texlive-20180414/source/texk/kpathsea/cnf.c
--- texlive-20180414/source/texk/kpathsea/cnf.c.me 2018-09-25 10:02:44.406129099 +0100
+++ texlive-20180414/source/texk/kpathsea/cnf.c 2018-09-25 10:50:20.648575054 +0100
@@ -132,6 +132,8 @@ do_line (kpathsea kpse, string line)
while (len > 0 && ISSPACE (start[len - 1]))
len--;
if (len == 0) {
+ if (prog) free (prog);
+ if (var) free (var);
return ("No cnf value");
}
@@ -234,7 +236,6 @@ read_all_cnf (kpathsea kpse)
xfclose (cnf_file, *cnf);
free (*cnf);
}
- free (cnf_files);
} else {
string warn = getenv ("KPATHSEA_WARNING");
if (!(warn && STREQ (warn, "0"))) {
@@ -243,6 +244,7 @@ read_all_cnf (kpathsea kpse)
cnf_path);
}
}
+ free (cnf_files);
}
/* Read the cnf files on the first call. Return the first value in the
diff -up texlive-20180414/source/texk/kpathsea/fontmap.c.me texlive-20180414/source/texk/kpathsea/fontmap.c
--- texlive-20180414/source/texk/kpathsea/fontmap.c.me 2018-09-25 10:24:28.990061334 +0100
+++ texlive-20180414/source/texk/kpathsea/fontmap.c 2018-09-25 10:25:08.310783006 +0100
@@ -162,6 +162,7 @@ read_all_maps (kpathsea kpse)
map_file_parse (kpse, *filenames);
filenames++;
}
+ free(filenames);
}
/* Look up KEY in texfonts.map's; if it's not found, remove any suffix
diff -up texlive-20180414/source/texk/kpathsea/kpsewhich.c.me texlive-20180414/source/texk/kpathsea/kpsewhich.c
--- texlive-20180414/source/texk/kpathsea/kpsewhich.c.me 2018-09-25 10:29:35.985696560 +0100
+++ texlive-20180414/source/texk/kpathsea/kpsewhich.c 2018-09-25 10:50:53.349178562 +0100
@@ -742,7 +742,8 @@ kpathsea_set_program_enabled (kpse, fmt,
DISABLE_MKTEX (kpse_ocp_format);
/* NULL for no fallback font. */
- kpathsea_init_prog (kpse, uppercasify (kpse->program_name), dpi, mode, NULL);
+ string PROG = uppercasify (kpse->program_name);
+ kpathsea_init_prog (kpse, PROG, dpi, mode, NULL);
/* Have to do this after setting the program name. */
if (user_format_string) {
@@ -752,6 +753,7 @@ kpathsea_set_program_enabled (kpse, fmt,
user_format_string);
}
}
+ free(PROG);
}
diff -up texlive-20180414/source/texk/kpathsea/mktexlsr.me texlive-20180414/source/texk/kpathsea/mktexlsr
--- texlive-20180414/source/texk/kpathsea/mktexlsr.me 2018-08-14 09:49:37.815932357 +0100
+++ texlive-20180414/source/texk/kpathsea/mktexlsr 2018-08-14 09:51:12.685644501 +0100
@@ -71,18 +71,18 @@ esac
if tty -s; then verbose=true; else verbose=false; fi
dry_run=false
-trees=
+trees=mktexlsrtrees
# initialize treefile by either mktemp or some random name
# code taken from pdfjam and adjusted
{
treefile=`
- (umask 077 && mktemp "${TMPDIR-/tmp}/mktexlsrtrees.XXXXXXXXXX") 2>/dev/null
+ (umask 077 && mktemp "${TMPDIR-/tmp}/$trees.XXXXXXXXXX") 2>/dev/null
` && test -n "$treefile" && test -f "$treefile"
} || {
## We'll use awk to make random number, for portability
random=`awk 'END { srand(); printf ("%d\n", rand()*1000000); }' /dev/null`
- treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.$random"
+ treefile="${TMPDIR-/tmp}/$trees$$.$random"
} || exit $?
trap 'cd /; rm -f $treefile; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp";
diff -up texlive-20180414/source/texk/kpathsea/tex-file.c.me texlive-20180414/source/texk/kpathsea/tex-file.c
--- texlive-20180414/source/texk/kpathsea/tex-file.c.me 2018-09-25 10:47:56.305911131 +0100
+++ texlive-20180414/source/texk/kpathsea/tex-file.c 2018-09-25 13:11:34.995055022 +0100
@@ -434,6 +434,7 @@ init_maketex (kpathsea kpse, kpse_file_f
kpse_src_client_cnf);
}
+ if (progval) free (progval);
free (PROG);
}
diff -up texlive-20180414/source/texk/kpathsea/tex-glyph.c.me texlive-20180414/source/texk/kpathsea/tex-glyph.c
--- texlive-20180414/source/texk/kpathsea/tex-glyph.c.me 2018-09-25 14:58:28.564047833 +0100
+++ texlive-20180414/source/texk/kpathsea/tex-glyph.c 2018-09-25 14:59:16.634928903 +0100
@@ -177,7 +177,7 @@ try_fontmap (kpathsea kpse, const_string
*fontname_ptr = xstrdup (first_name);
}
}
-
+ free (mapped_names);
return ret;
}
diff -up texlive-20180414/source/texk/kpathsea/tex-make.c.me texlive-20180414/source/texk/kpathsea/tex-make.c
--- texlive-20180414/source/texk/kpathsea/tex-make.c.me 2018-10-01 12:28:44.510074773 +0100
+++ texlive-20180414/source/texk/kpathsea/tex-make.c 2018-10-01 13:24:01.201630392 +0100
@@ -116,8 +116,9 @@ misstex (kpathsea kpse, kpse_file_format
kpse->missfont
= missfont_name ? fopen (missfont_name, FOPEN_A_MODE) : NULL;
- if (!kpse->missfont && kpathsea_var_value (kpse, "TEXMFOUTPUT")) {
- missfont_name = concat3 (kpathsea_var_value (kpse, "TEXMFOUTPUT"),
+ char *texmfoutput = kpathsea_var_value (kpse, "TEXMFOUTPUT");
+ if (!kpse->missfont && texmfoutput) {
+ missfont_name = concat3 (texmfoutput,
DIR_SEP_STRING, missfont_name);
kpse->missfont = fopen (missfont_name, FOPEN_A_MODE);
}
@@ -125,6 +126,7 @@ misstex (kpathsea kpse, kpse_file_format
if (kpse->missfont)
fprintf (stderr, "kpathsea: Appending font creation commands to %s.\n",
missfont_name);
+ free (texmfoutput);
}
/* Write the command if we have a log file. */
@@ -439,6 +441,7 @@ kpathsea_make_tex (kpathsea kpse, kpse_f
if (base[0] == '-' /* || IS_DIR_SEP(base[0]) */) {
fprintf(stderr, "kpathsea:make_tex: Invalid filename `%s', starts with '%c'\n",
base, base[0]);
+ free (args);
return NULL;
}
for (i = 0; base[i]; i++) {
@@ -451,6 +454,7 @@ kpathsea_make_tex (kpathsea kpse, kpse_f
{
fprintf(stderr, "kpathsea:make_tex: Invalid filename `%s', contains '%c'\n",
base, base[i]);
+ free (args);
return NULL;
}
}
diff -up texlive-20180414/source/texk/makeindexk/mkindex.me texlive-20180414/source/texk/makeindexk/mkindex
--- texlive-20180414/source/texk/makeindexk/mkindex.me 2018-08-14 09:48:13.864392161 +0100
+++ texlive-20180414/source/texk/makeindexk/mkindex 2018-08-14 09:48:34.564771939 +0100
@@ -13,7 +13,7 @@ unset RUNNING_BSH
progname=`basename $0`
case $# in
0)
- echo "usage: `basename $0` file[.idx] ..." 1>&2
+ echo "usage: $progname file[.idx] ..." 1>&2
exit 1
;;
esac
diff -up texlive-20180414/source/texk/web2c/lib/openclose.c.me texlive-20180414/source/texk/web2c/lib/openclose.c
--- texlive-20180414/source/texk/web2c/lib/openclose.c.me 2018-10-02 15:06:29.670502929 +0100
+++ texlive-20180414/source/texk/web2c/lib/openclose.c 2018-10-02 15:09:52.234270066 +0100
@@ -303,6 +303,7 @@ open_output (FILE **f_ptr, const_string
fname = concat3(texmfoutput, DIR_SEP_STRING, nameoffile+1);
*f_ptr = fopen(fname, fopen_mode);
}
+ free (texmfoutput);
}
/* If this succeeded, change nameoffile accordingly. */
if (*f_ptr) {
diff -up texlive-20180414/source/texk/web2c/lib/texmfmp.c.me texlive-20180414/source/texk/web2c/lib/texmfmp.c
--- texlive-20180414/source/texk/web2c/lib/texmfmp.c.me 2018-10-04 09:45:15.432099911 +0100
+++ texlive-20180414/source/texk/web2c/lib/texmfmp.c 2018-10-04 10:22:47.004046653 +0100
@@ -654,7 +654,9 @@ static boolean
texmf_yesno(const_string var)
{
string value = kpse_var_value (var);
- return value && (*value == 't' || *value == 'y' || *value == '1');
+ boolean temp_value = (value && (*value == 't' || *value == 'y' || *value == '1'));
+ free (value);
+ return temp_value;
}
#ifdef pdfTeX
@@ -899,6 +901,7 @@ maininit (int ac, string *av)
}
DUMP_VAR = concat (" ", with_ext); /* adjust array for Pascal */
DUMP_LENGTH_VAR = strlen (DUMP_VAR + 1);
+ free (with_ext);
} else {
/* For dump_name to be NULL is a bug. */
abort();
@@ -1379,11 +1382,9 @@ tcx_get_num (int upb,
void
readtcxfile (void)
{
- string orig_filename;
if (!find_suffix (translate_filename)) {
translate_filename = concat (translate_filename, ".tcx");
}
- orig_filename = translate_filename;
translate_filename
= kpse_find_file (translate_filename, kpse_web2c_format, true);
if (translate_filename) {
@@ -1434,7 +1435,7 @@ readtcxfile (void)
}
xfclose(translate_file, translate_filename);
} else {
- WARNING1 ("Could not open char translation file `%s'", orig_filename);
+ WARNING1 ("Could not open char translation file `%s'", translate_filename);
}
}
#endif /* !Aleph && !XeTeX */
@@ -2888,7 +2889,9 @@ boolean
isnewsource (strnumber srcfilename, int lineno)
{
char *name = gettexstring(srcfilename);
- return (compare_paths(name, last_source_name) != 0 || lineno != last_lineno);
+ boolean tmp_name = (compare_paths(name, last_source_name) != 0 || lineno != last_lineno);
+ free (name);
+ return tmp_name;
}
void
@@ -2926,6 +2929,7 @@ makesrcspecial (strnumber srcfilename, i
while (*s)
strpool[poolptr++] = *s++;
+ free (filename);
return (oldpoolptr);
}
@@ -3223,6 +3227,7 @@ void getfiledump(integer s, int offset,
recorder_record_input(file_name);
if (fseek(f, offset, SEEK_SET) != 0) {
xfree(file_name);
+ fclose(f);
return;
}
/* there is enough space in the string pool, the read
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w.me texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w.me 2018-10-04 10:46:48.310815583 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w 2018-10-04 10:57:37.192864136 +0100
@@ -1102,8 +1102,8 @@ static void font_char_from_lua(lua_State
{
int k, r, t, lt, u, n;
charinfo *co;
- kerninfo *ckerns;
- liginfo *cligs;
+ kerninfo *ckerns = NULL;
+ liginfo *cligs = NULL;
scaled j;
const char *s;
int nl = 0; /* number of ligature table items */
@@ -1403,6 +1403,8 @@ static void font_char_from_lua(lua_State
lua_pop(L, 1); /* ligatures table */
}
}
+ if (ckerns) free (ckerns);
+ if (cligs) free (cligs);
}
@ The caller has to fix the state of the lua stack when there is an error!
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w.me texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w.me 2018-10-04 11:06:22.002603849 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w 2018-10-04 11:06:46.713062328 +0100
@@ -1036,6 +1036,8 @@ int read_tfm_info(internal_font_number f
}
}
+ free (cligs);
+ free (ckerns);
cligs = NULL;
ckerns = NULL;
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w.me texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w.me 2018-10-04 13:46:33.030731080 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w 2018-10-04 14:05:38.882001697 +0100
@@ -760,6 +760,8 @@ void do_vf(internal_font_number f)
vf_read_u(4, utmp);
cc = (int) utmp;
if (!char_exists(f, cc)) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("invalid character code");
}
vf_read(4, k);
@@ -768,6 +770,8 @@ void do_vf(internal_font_number f)
packet_length = cmd;
vf_byte(cc);
if (!char_exists(f, cc)) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("invalid character code");
}
vf_read_u(3, utmp);
@@ -820,9 +824,12 @@ void do_vf(internal_font_number f)
n = 0;
while ((n < vf_nf) && (vf_local_fnts[n] != (unsigned) k))
n++;
- if (n == vf_nf)
+ if (n == vf_nf) {
+ if (vpackets) free (vpackets);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("undefined local font");
-
+ }
k = (int) vf_real_fnts[n];
append_fnt_set(k);
cmd_length = 0;
@@ -938,8 +945,12 @@ void do_vf(internal_font_number f)
vf_read_u((cmd - xxx1 + 1), utmp);
cmd_length = (int) utmp;
packet_length -= (cmd - xxx1 + 1);
- if (cmd_length <= 0)
+ if (cmd_length <= 0) {
+ if (vpackets) free (vpackets);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("special of negative length");
+ }
packet_length -= (unsigned) cmd_length;
append_packet(packet_special_code);
@@ -982,6 +993,9 @@ void do_vf(internal_font_number f)
break;
case pop:
if (stack_level == 0) {
+ if (vpackets) free (vpackets);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("more POPs than PUSHs in character");
} else {
decr(stack_level);
@@ -993,6 +1007,9 @@ void do_vf(internal_font_number f)
}
break;
default:
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
+ if (vpackets) free (vpackets);
bad_vf("improver DVI command");
}
}
@@ -1000,18 +1017,26 @@ void do_vf(internal_font_number f)
/* signal end of packet */
append_packet(packet_end_code);
- if (stack_level != 0)
+ if (stack_level != 0) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
+ if (vpackets) free (vpackets);
bad_vf("more PUSHs than POPs in character packet");
+ }
if (packet_length != 0)
bad_vf("invalid packet length or DVI command in packet");
/* \.{Store the packet being built} */
set_charinfo_packets(co, vpackets);
vf_byte(cmd);
}
- if (cmd != post)
+ if (cmd != post) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("POST command expected");
-
+ }
xfree(vf_buffer);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
}
@ @c
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w.me texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w.me 2018-10-04 14:46:50.747887890 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w 2018-10-04 16:09:12.999654546 +0100
@@ -1105,6 +1105,7 @@ cff_font *read_cff(unsigned char *buf, l
if (n > idx->count - 1) {
normal_warning("cff","invalid fontset index number");
cff_close(cff);
+ cff_release_index(idx);
return NULL;
}
cff->name = idx;
@@ -1121,6 +1122,7 @@ cff_font *read_cff(unsigned char *buf, l
if (n > idx->count - 1) {
normal_warning("cff","top DICT not exist");
+ cff_release_index(idx);
cff_close(cff);
return NULL;
}
@@ -1128,6 +1130,7 @@ cff_font *read_cff(unsigned char *buf, l
idx->data + idx->offset[n + 1] - 1);
if (!cff->topdict) {
normal_warning("cff","parsing top DICT data failed");
+ cff_release_index(idx);
cff_close(cff);
return NULL;
}
@@ -3037,6 +3040,7 @@ cffont->_string = NULL;
pdf_out_block(pdf, stream, l);
pdf_end_stream(pdf);
pdf_end_obj(pdf);
+ free(stream);
}
}
/*
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w.me texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w.me 2018-10-04 16:13:09.614046152 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w 2018-10-04 16:13:43.084667255 +0100
@@ -406,6 +406,7 @@ boolean make_tt_subset(PDF pdf, fd_entry
pdf_out_block(pdf, stream, l);
pdf_end_stream(pdf);
pdf_end_obj(pdf);
+ free(stream);
}
}
}

@ -1,6 +1,6 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2019-11-27 17:45:26.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:28:40.111986243 -0400
diff -up texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2016-11-25 13:24:37.000000000 -0500
+++ texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc 2018-04-30 13:26:10.442342831 -0400
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2016 Han The Thanh, <thanh@pdftex.org>
@ -318,7 +318,7 @@ diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppl
}
#else
- pdf_version_found = pdf_doc->doc->getPDFVersion();
- pdf_version_wanted = major_pdf_version_wanted + (minor_pdf_version_wanted * 0.1);
- pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
- if (pdf_version_found > pdf_version_wanted + 0.01) {
- char msg[] =
- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed";
@ -513,9 +513,9 @@ diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppl
if (i < l - 1)
pdf_newline(); // add a newline after each stream except the last
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2017-10-17 00:24:27.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:25:55.786266341 -0400
diff -up texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2018-04-30 13:32:27.005472583 -0400
+++ texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc 2018-04-30 13:38:12.805326988 -0400
@@ -16,6 +16,14 @@ GNU General Public License for more deta
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.

@ -0,0 +1,41 @@
diff -up texlive-base-20180414/source/texk/kpathsea/mktexlsr.selinux texlive-base-20180414/source/texk/kpathsea/mktexlsr
--- texlive-base-20180414/source/texk/kpathsea/mktexlsr.selinux 2018-01-16 19:55:32.000000000 -0500
+++ texlive-base-20180414/source/texk/kpathsea/mktexlsr 2018-04-30 13:10:12.447909163 -0400
@@ -228,7 +228,8 @@ for TEXMFLS_R in "$@"; do
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+ # selinux fix
+ cp "$db_file_tmp" "$db_file"
rm -rf "$db_dir_tmp"
done
diff -up texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl
--- texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux 2018-04-30 13:10:12.447909163 -0400
+++ texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2018-04-30 13:12:43.035361954 -0400
@@ -719,7 +719,7 @@ sub rebuild_one_format {
TeXLive::TLUtils::mkdirhier($destdir);
- if (!File::Copy::move( $logfile, "$destdir/$logfile")) {
+ if (!File::Copy::copy( $logfile, "$destdir/$logfile")) {
print_deferred_error("Cannot move $logfile to $destdir.\n");
}
if ($opts{'recorder'}) {
@@ -727,13 +727,13 @@ sub rebuild_one_format {
# package dependencies for each format. Unfortunately omega-based
# engines gratuitiously changed the extension from .fls to .ofl.
my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls");
- if (!File::Copy::move( $recfile, "$destdir/$recfile")) {
+ if (!File::Copy::copy( $recfile, "$destdir/$recfile")) {
print_deferred_error("Cannot move $recfile to $destdir.\n");
}
}
my $destfile = "$destdir/$fmtfile";
- if (File::Copy::move( $fmtfile, $destfile )) {
+ if (File::Copy::copy( $fmtfile, $destfile )) {
print_info("$destfile installed.\n");
#
# original fmtutil.sh did some magic trick for mplib-luatex.mem

@ -1,7 +1,7 @@
diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
--- ./scripts/texlive/tlmgr.pl.ignore-warning 2019-05-24 21:35:57.384845754 -0400
+++ ./scripts/texlive/tlmgr.pl 2019-05-24 21:39:32.703577109 -0400
@@ -231,6 +231,7 @@ my %action_specification = (
diff -up texmf-dist/scripts/texlive/tlmgr.pl.orig texmf-dist/scripts/texlive/tlmgr.pl
--- texmf-dist/scripts/texlive/tlmgr.pl.orig 2017-09-13 03:55:27.000000000 +0200
+++ texmf-dist/scripts/texlive/tlmgr.pl 2020-07-24 15:01:13.810411690 +0200
@@ -225,6 +225,7 @@ my %action_specification = (
"dry-run|n" => 1,
"file" => 1,
"force" => 1,
@ -9,7 +9,7 @@ diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
"no-depends" => 1,
"no-depends-at-all" => 1,
"reinstall" => 1,
@@ -331,6 +332,7 @@ my %action_specification = (
@@ -329,6 +330,7 @@ my %action_specification = (
"dry-run|n" => 1,
"exclude" => "=s@",
"force" => 1,
@ -17,12 +17,12 @@ diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
"list" => 1,
"no-auto-install" => 1,
"no-auto-remove" => 1,
@@ -2613,6 +2615,15 @@ sub upd_info {
@@ -2339,6 +2341,15 @@ sub upd_info {
}
sub action_update {
+ if (!($opts{"ignore-warning"})) {
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
+ print("*** WARNING ***: Performing this action will likely destroy the RHEL TeXLive install on your system.\n");
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
@ -33,12 +33,12 @@ diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
init_local_db(1);
$opts{"no-depends"} = 1 if $opts{"no-depends-at-all"};
@@ -3618,6 +3629,15 @@ sub check_announce_format_triggers {
@@ -3336,6 +3347,15 @@ sub check_announce_format_triggers {
# anymore! That has all to be done by the caller.
#
sub action_install {
+ if (!($opts{"ignore-warning"})) {
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
+ print("*** WARNING ***: Performing this action will likely destroy the RHEL TeXLive install on your system.\n");
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
@ -49,13 +49,13 @@ diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
init_local_db(1);
my $ret = $F_OK;
return ($F_ERROR) if !check_on_writable();
@@ -8151,6 +8171,13 @@ If updates to C<tlmgr> itself (or other
@@ -7657,6 +7677,13 @@ If updates to C<tlmgr> itself (or other
infrastructure) are present, C<tlmgr> will bail out and not perform the
installation unless this option is given. Not recommended.
+=item B<--ignore-warning>
+
+The tlmgr tool can really ruin a Fedora install of TeXLive.
+The tlmgr tool can really ruin a RHEL install of TeXLive.
+We have added a warning check here to try to keep you from
+blindly following a tutorial and doing this. If you still want to
+proceed, just use this option.
@ -63,13 +63,13 @@ diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
=item B<--no-depends>
Do not install dependencies. (By default, installing a package ensures
@@ -8846,6 +8873,13 @@ In short:
@@ -8275,6 +8302,13 @@ In short:
Nothing is actually installed; instead, the actions to be performed are
written to the terminal. This is a more detailed report than C<--list>.
+=item B<--ignore-warning>
+
+The tlmgr tool can really ruin a Fedora install of TeXLive.
+The tlmgr tool can really ruin a RHEL install of TeXLive.
+We have added a warning check here to try to keep you from
+blindly following a tutorial and doing this. If you still want to
+proceed, just use this option.

@ -0,0 +1,22 @@
diff -up doc/otherformats/xmltex/base/langtest.xml.me doc/otherformats/xmltex/base/langtest.xml
--- doc/otherformats/xmltex/base/langtest.xml.me 2018-11-09 19:15:17.265859217 +0100
+++ doc/otherformats/xmltex/base/langtest.xml 2018-11-09 19:15:37.403926239 +0100
@@ -3,8 +3,6 @@
<!ENTITY englishutf8 SYSTEM "englishutf8.xml">
<!ENTITY portugeselatin1 SYSTEM "portugeselatin1.xml">
-<!ENTITY englishutf16 SYSTEM "englishutf16.xml">
-<!ENTITY russiankoi8 SYSTEM "russiankoi8.xml">
<!ENTITY russianutf8 SYSTEM "russianutf8.xml">
]>
@@ -12,9 +10,7 @@
<langtest>
&englishutf8;
-&englishutf16;
&portugeselatin1;
-&russiankoi8;
&russianutf8;

@ -1,39 +0,0 @@
diff -up ./doc/generic/enctex/unimap.py.py3 ./doc/generic/enctex/unimap.py
--- ./doc/generic/enctex/unimap.py.py3 2019-08-18 08:52:49.201015107 -0400
+++ ./doc/generic/enctex/unimap.py 2019-08-18 08:54:08.301110903 -0400
@@ -91,12 +91,12 @@ def linetype(line):
return LineType.Character, (int(line[:m.end()], 16),
line[m.end():].strip().lower())
if not line.startswith('\t'):
- raise ValueError, 'Queer line doesn\'t start with @ or Tab'
+ raise ValueError('Queer line doesn\'t start with @ or Tab')
line = line.strip()
if not line:
return LineType.Empty, None
if not LineType.map.has_key(line[0]):
- raise ValueError, 'Queer character info line (marker %s)' % line[0]
+ raise ValueError('Queer character info line (marker %s)' % line[0])
return line[0], line[1:].strip()
def utf8chars(u):
@@ -132,7 +132,7 @@ while typ:
char = val
elif typ == LineType.TeX:
if not val.startswith('\\'):
- raise ValueError, '%s is not a control seq (U%X)' % (val, char[0])
+ raise ValueError('%s is not a control seq (U%X)' % (val, char[0]))
if sect:
fw.write('\n%% %s\n' % sect)
sect = None
diff -up ./doc/generic/enctex/unimap.py.py3 ./doc/generic/enctex/unimap.py
--- ./doc/generic/enctex/unimap.py.py3 2019-08-18 09:40:33.996050750 -0400
+++ ./doc/generic/enctex/unimap.py 2019-08-18 09:41:02.573362799 -0400
@@ -48,8 +48,6 @@ database = 'unimap.txt' # Input file
output = 'utf8raw.tex' # Output file
# Compatibility with Pyhton-2.1
-if not __builtins__.__dict__.has_key('True'):
- True = 1; False = 0
if not __builtins__.__dict__.has_key('file'):
file = open
if not __builtins__.__dict__.has_key('dict'):

@ -1,25 +0,0 @@
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure.ac
--- texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection 2019-03-10 14:21:29.000000000 -0400
+++ texlive-base-20190410/source/texk/dvisvgm/configure.ac 2019-05-23 19:07:30.447057345 -0400
@@ -66,7 +66,8 @@ AS_IF([test "x$have_libgs" = "xno"],
# Ghostscript not found, check for dlopen
[AC_CHECK_LIB(dl, dlopen,,
[AC_DEFINE(DISABLE_GS, 1, [Set to 1 if PostScript support should be disabled])]
- [AC_MSG_WARN(PostScript support disabled)])])
+ [AC_MSG_WARN(PostScript support disabled)])],
+ [test "x$have_libgs" = "xyes"], [HAVE_LIBGS=1])
fi
if test -z "$HAVE_LIBGS" || test "$HAVE_LIBGS" -eq 0; then
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure
--- texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection 2019-05-23 19:07:45.568703333 -0400
+++ texlive-base-20190410/source/texk/dvisvgm/configure 2019-05-23 19:09:31.341219687 -0400
@@ -22013,6 +22013,8 @@ $as_echo "#define DISABLE_GS 1" >>confde
$as_echo "$as_me: WARNING: PostScript support disabled" >&2;}
fi
+elif test "x$have_libgs" = "xyes"; then :
+ HAVE_LIBGS=1
fi
fi

@ -1,249 +0,0 @@
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2019-05-23 15:50:17.849768543 -0400
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc 2019-05-23 16:00:41.022262790 -0400
@@ -120,7 +120,7 @@ struct UsedEncoding {
static InObj *inObjList;
static UsedEncoding *encodingList;
-static GBool isInit = gFalse;
+static bool isInit = false;
// --------------------------------------------------------------------
// Maintain list of open embedded PDF files
@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref)
static void copyObject(Object *);
-static void copyName(char *s)
+static void copyName(const char *s)
{
pdf_puts("/");
for (; *s != 0; s++) {
@@ -310,7 +310,7 @@ static void copyDict(Object * obj)
static void copyFontDict(Object * obj, InObj * r)
{
int i, l;
- char *key;
+ const char *key;
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid dict type <%s>",
obj->getTypeName());
@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font
return false;
}
-static void copyFont(char *tag, Object * fontRef)
+static void copyFont(const char *tag, Object * fontRef)
{
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
stemV;
@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object *
&& fontdescRef.isRef()
&& fontdesc.isDict()
&& embeddableFont(&fontdesc)
- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
// integer, since we don't want to change the struct.
@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object *
charset = fontdesc.dictLookup("CharSet");
if (!charset.isNull() &&
charset.isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, charset.getString()->getCString());
+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str());
else
embed_whole_font(fd);
addFontDesc(fontdescRef.getRef(), fd);
@@ -467,7 +467,7 @@ static void copyFontResources(Object * o
pdf_puts(">>\n");
}
-static void copyOtherResources(Object * obj, char *key)
+static void copyOtherResources(Object * obj, const char *key)
{
// copies all other resources (write_epdf handles Fonts and ProcSets),
@@ -554,8 +554,8 @@ static void copyObject(Object * obj)
Object obj1;
int i, l, c;
Ref ref;
- char *p;
- GString *s;
+ const char *p;
+ const GString *s;
if (obj->isBool()) {
pdf_printf("%s", obj->getBool()? "true" : "false");
} else if (obj->isInt()) {
@@ -566,7 +566,7 @@ static void copyObject(Object * obj)
pdf_printf("%s", convertNumToPDF(obj->getNum()));
} else if (obj->isString()) {
s = obj->getString();
- p = s->getCString();
+ p = s->c_str();
l = s->getLength();
if (strlen(p) == (unsigned int) l) {
pdf_puts("(");
@@ -664,7 +664,7 @@ static void writeEncodings()
("PDF inclusion: CID fonts are not supported"
" (try to disable font replacement to fix this)");
}
- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
glyphNames[i] = s;
else
glyphNames[i] = notdef;
@@ -683,7 +683,7 @@ static void writeEncodings()
}
// get the pagebox according to the pagebox_spec
-static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
{
if (pagebox_spec == pdfboxspecmedia)
return page->getMediaBox();
@@ -715,7 +715,7 @@ read_pdf_info(char *image_name, char *pa
{
PdfDocument *pdf_doc;
Page *page;
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
#ifdef POPPLER_VERSION
int pdf_major_version_found, pdf_minor_version_found;
#else
@@ -724,8 +724,8 @@ read_pdf_info(char *image_name, char *pa
// initialize
if (!isInit) {
globalParams = new GlobalParams();
- globalParams->setErrQuiet(gFalse);
- isInit = gTrue;
+ globalParams->setErrQuiet(false);
+ isInit = true;
}
// open PDF file
pdf_doc = find_add_document(image_name);
@@ -822,7 +822,7 @@ void write_epdf(void)
Object groupDict;
bool writeSepGroup = false;
Object info;
- char *key;
+ const char *key;
char s[256];
int i, l;
int rotate;
@@ -849,7 +849,7 @@ void write_epdf(void)
pageObj = xref->fetch(pageRef->num, pageRef->gen);
pageDict = pageObj.getDict();
rotate = page->getRotate();
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
// write the Page header
pdf_puts("/Type /XObject\n");
pdf_puts("/Subtype /Form\n");
@@ -977,7 +977,7 @@ The changes below seem to work fine.
}
l = dic1.getLength();
for (i = 0; i < l; i++) {
- groupDict.dictAdd(copyString(dic1.getKey(i)),
+ groupDict.dictAdd(dic1.getKey(i),
dic1.getValNF(i));
}
// end modification
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2019-05-23 15:50:17.850768522 -0400
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc 2019-05-23 15:50:17.858768349 -0400
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "No SourceName found\n");
exit(1);
}
- outname = srcName.getString()->getCString();
+ outname = (char *)srcName.getString()->c_str();
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
@@ -118,7 +118,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -128,7 +128,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
sprintf(p, ".xref");
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
Object objStr, obj1, obj2;
int nObjects, first, n;
int localOffset = 0;
- Guint firstOffset;
+ unsigned int firstOffset;
objStr = xref->fetch(e->offset, 0);
assert(objStr.isStream());
@@ -173,9 +173,9 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, gFalse);
+ parser = new Parser(xref, lexer, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
diff -up texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp
--- texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 2018-12-25 00:48:22.000000000 -0500
+++ texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp 2019-05-23 15:50:17.858768349 -0400
@@ -78,26 +78,29 @@ pdf_get_rect(char* filename, int page_nu
Page* page = doc->getCatalog()->getPage(page_num);
- const PDFRectangle* r;
+ PDFRectangle* r;
+ const PDFRectangle* cr;
switch (pdf_box) {
default:
case pdfbox_crop:
- r = page->getCropBox();
+ cr = page->getCropBox();
break;
case pdfbox_media:
- r = page->getMediaBox();
+ cr = page->getMediaBox();
break;
case pdfbox_bleed:
- r = page->getBleedBox();
+ cr = page->getBleedBox();
break;
case pdfbox_trim:
- r = page->getTrimBox();
+ cr = page->getTrimBox();
break;
case pdfbox_art:
- r = page->getArtBox();
+ cr = page->getArtBox();
break;
}
+ r = new PDFRectangle (cr->x1, cr->y1, cr->x2, cr->y2);
+
int RotAngle = 0;
RotAngle = (int)page->getRotate() % 360;
if (RotAngle < 0)
@@ -112,6 +115,7 @@ pdf_get_rect(char* filename, int page_nu
box->x = 72.27 / 72 * my_fmin(r->x1, r->x2);
box->y = 72.27 / 72 * my_fmin(r->y1, r->y2);
+ delete r;
delete doc;
return 0;

@ -1,142 +0,0 @@
diff -up texlive-base-20200327/source/texk/web2c/am/texmf.am.dt texlive-base-20200327/source/texk/web2c/am/texmf.am
--- texlive-base-20200327/source/texk/web2c/am/texmf.am.dt 2019-12-17 14:24:59.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/am/texmf.am 2020-04-20 14:33:43.465656684 -0400
@@ -75,7 +75,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES)
# TeX tests
#
-tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test
+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT)
EXTRA_DIST += $(tex_tests)
@@ -203,7 +203,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC
# Metafont tests
#
-mf_tests = mftraptest.test
+mf_tests =
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mf_tests)
if MF
diff -up texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am
--- texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt 2020-04-20 14:32:46.325851485 -0400
+++ texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am 2020-04-20 14:34:20.015892398 -0400
@@ -83,7 +83,7 @@ EXTRA_DIST += \
# e-pTeX Tests
#
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
+eptex_tests = eptexdir/epver.test
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
eptexdir/epver.log: eptex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am
--- texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt 2020-04-20 14:32:46.326851464 -0400
+++ texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am 2020-04-20 14:34:55.625147806 -0400
@@ -84,7 +84,7 @@ EXTRA_DIST += \
# e-upTeX Tests
#
-euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test
+euptex_tests = euptexdir/eupver.test
euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
euptexdir/eupver.log: euptex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am
--- texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am 2020-04-20 14:32:46.326851464 -0400
@@ -110,7 +110,7 @@ EXTRA_DIST += \
# MFLua tests
#
-mflua_tests = mfluadir/mfluatraptest.test
+mflua_tests =
mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mflua_tests)
diff -up texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am
--- texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am 2020-04-20 14:32:46.326851464 -0400
@@ -106,7 +106,7 @@ EXTRA_DIST += \
# MFLuaJIT tests
#
-mfluajit_tests = mfluajitdir/mfluajittraptest.test
+mfluajit_tests =
mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mfluajit_tests)
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am
--- texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2020-04-20 14:32:46.326851464 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am 2020-04-20 14:35:48.451043188 -0400
@@ -95,8 +95,8 @@ EXTRA_DIST += \
# pdfTeX tests
#
-pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
- pdftexdir/pdfimage.test pdftexdir/expanded.test \
+pdftex_tests = pdftexdir/pdftex.test \
+ pdftexdir/expanded.test \
pdftexdir/tests/cnfline.test
pdftexdir/wprob.log pdftexdir/pdftex.log \
diff -up texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am
--- texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am 2020-04-20 14:36:23.750305069 -0400
@@ -168,7 +168,7 @@ EXTRA_DIST += \
# pTeX Tests
#
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
+ptex_tests = ptexdir/pver.test
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
ptexdir/pver.log: ptex$(EXEEXT)
pweb_tests = \
diff -up texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am
--- texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am 2020-04-20 14:36:53.266687857 -0400
@@ -158,7 +158,7 @@ EXTRA_DIST += \
uptexdir/ChangeLog
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
+uptex_tests = uptexdir/upver.test
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
uptexdir/upver.log: uptex$(EXEEXT)
upweb_tests = \
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am
--- texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am 2020-04-20 14:37:13.223270564 -0400
@@ -201,7 +201,6 @@ EXTRA_DIST += \
#
xetex_tests = \
xetexdir/xetex-filedump.test \
- xetexdir/xetex-bug73.test \
xetexdir/xetex.test
xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt texlive-base-20200327/source/texk/kpathsea/Makefile.am
--- texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt 2020-04-20 15:49:39.282325550 -0400
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.am 2020-04-20 15:49:51.475074045 -0400
@@ -275,7 +275,7 @@ uninstall-local:
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S;
AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test
+TESTS = tests/cnfnewline.test
TESTS += tests/cnfnull.test tests/cnfprog.test
TESTS += tests/kpseaccess.test
TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt texlive-base-20200327/source/texk/kpathsea/Makefile.in
--- texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt 2020-04-21 10:17:29.766949867 -0400
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.in 2020-04-21 10:17:36.926798780 -0400
@@ -858,7 +858,7 @@ dist_noinst_DATA = texmf.cnf
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \
LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \
+TESTS = tests/cnfnewline.test tests/cnfnull.test \
tests/cnfprog.test tests/kpseaccess.test \
tests/kpsereadlink.test tests/kpsestat.test \
tests/kpsewhich.test

@ -1,266 +0,0 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:38:05.314181306 -0400
@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -292,7 +301,7 @@ static void copyDictEntry(Object * obj,
Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj1 = obj->dictGetValNF(i);
+ obj1 = obj->dictGetValNF(i).copy();
copyObject(&obj1);
pdf_puts("\n");
}
@@ -351,7 +360,7 @@ static void copyProcSet(Object * obj)
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- procset = obj->arrayGetNF(i);
+ procset = obj->arrayGetNF(i).copy();
if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
procset.getTypeName());
@@ -406,7 +415,7 @@ static void copyFont(const char *tag, Ob
if (fontdict.isDict()) {
subtype = fontdict.dictLookup("Subtype");
basefont = fontdict.dictLookup("BaseFont");
- fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy();
if (fontdescRef.isRef()) {
fontdesc = fontdescRef.fetch(xref);
}
@@ -452,7 +461,7 @@ static void copyFontResources(Object * o
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- fontRef = obj->dictGetValNF(i);
+ fontRef = obj->dictGetValNF(i).copy();
if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
@@ -595,7 +604,7 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj1 = obj->arrayGetNF(i);
+ obj1 = obj->arrayGetNF(i).copy();
if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
@@ -723,7 +732,7 @@ read_pdf_info(char *image_name, char *pa
#endif
// initialize
if (!isInit) {
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
globalParams->setErrQuiet(false);
isInit = true;
}
@@ -761,7 +770,7 @@ read_pdf_info(char *image_name, char *pa
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen);
+ page_num = pdf_doc->doc->getCatalog()->findPage(ref);
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
@@ -921,13 +930,13 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- dictObj = pageDict->lookupNF("Metadata");
+ dictObj = pageDict->lookupNF("Metadata").copy();
if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy();
if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
@@ -936,7 +945,7 @@ void write_epdf(void)
}
// handle page group
- dictObj = pageDict->lookupNF("Group");
+ dictObj = pageDict->lookupNF("Group").copy();
if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
@@ -978,7 +987,7 @@ The changes below seem to work fine.
l = dic1.getLength();
for (i = 0; i < l; i++) {
groupDict.dictAdd(dic1.getKey(i),
- dic1.getValNF(i));
+ dic1.getValNF(i).copy());
}
// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
@@ -1108,6 +1117,6 @@ void epdf_check_mem()
delete_document(p);
}
// see above for globalParams
- delete globalParams;
+ globalParams.reset();
}
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:38:05.314181306 -0400
@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -79,7 +88,7 @@ int main(int argc, char *argv[])
exit(1);
}
fileName = new GString(argv[1]);
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
doc = new PDFDoc(fileName);
if (!doc->isOk()) {
fprintf(stderr, "Invalid PDF file\n");
@@ -100,7 +109,7 @@ int main(int argc, char *argv[])
if (objnum == 0) {
srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
- if (!srcStream.isStream(const_SourceFile)) {
+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
@@ -156,7 +165,6 @@ int main(int argc, char *argv[])
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
Stream *str;
- Lexer *lexer;
Parser *parser;
Object objStr, obj1, obj2;
int nObjects, first, n;
@@ -174,8 +182,7 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
- lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, false);
+ parser = new Parser(xref, str, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
@@ -207,5 +214,5 @@ int main(int argc, char *argv[])
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
delete doc;
- delete globalParams;
+ globalParams.reset();
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c
--- texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c 2020-04-20 14:39:39.355214866 -0400
@@ -32,14 +32,6 @@ with this program. If not, see <http://
#include <zlib.h>
#include "ptexlib.h"
#include <png.h>
-#ifdef POPPLER_VERSION
-/* POPPLER_VERSION should be a proper version string */
-#define xpdfVersion POPPLER_VERSION
-#define xpdfString "poppler"
-#else
-#include <xpdf/config.h> /* just to get the xpdf version */
-#define xpdfString "xpdf"
-#endif
#define check_nprintf(size_get, size_want) \
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
@@ -977,12 +969,10 @@ void initversionstring(char **versions)
{
const_string fmt =
"Compiled with libpng %s; using libpng %s\n"
- "Compiled with zlib %s; using zlib %s\n"
- "Compiled with %s version %s\n";
+ "Compiled with zlib %s; using zlib %s\n";
size_t len = strlen(fmt)
+ strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver)
+ strlen(ZLIB_VERSION) + strlen(zlib_version)
- + strlen(xpdfString) + strlen(xpdfVersion)
+ 1;
/* len will be more than enough, because of the placeholder chars in fmt
@@ -990,7 +980,7 @@ void initversionstring(char **versions)
*versions = xmalloc(len);
sprintf(*versions, fmt,
PNG_LIBPNG_VER_STRING, png_libpng_ver,
- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion);
+ ZLIB_VERSION, zlib_version);
}
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c
--- texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 2019-12-30 16:00:39.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c 2020-04-20 14:40:44.534851910 -0400
@@ -38,10 +38,6 @@ authorization from the copyright holders
#include <w2c/config.h>
-#ifndef POPPLER_VERSION
-#include <poppler-config.h>
-#endif
-
#include <png.h>
#include <zlib.h>
#include <graphite2/Font.h>
@@ -170,7 +166,6 @@ void initversionstring(char **versions)
"Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n"
"Compiled with HarfBuzz version %s; using %s\n"
"Compiled with libpng version %s; using %s\n"
- "Compiled with poppler version %s\n"
#ifdef XETEX_MAC
"Using Mac OS X Core Text and Cocoa frameworks\n"
#else
@@ -187,7 +182,6 @@ void initversionstring(char **versions)
+ strlen(hb_version_string())
+ strlen(PNG_LIBPNG_VER_STRING)
+ strlen(png_libpng_ver)
- + strlen(POPPLER_VERSION)
#ifndef XETEX_MAC
+ 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
#endif
@@ -217,7 +211,7 @@ void initversionstring(char **versions)
GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX,
grMajor, grMinor, grBugfix,
HB_VERSION_STRING, hb_version_string(),
- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION
+ PNG_LIBPNG_VER_STRING, png_libpng_ver
#ifndef XETEX_MAC
,
FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,

@ -1,20 +0,0 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 2020-07-14 13:13:31.620607263 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-07-14 13:16:01.530248309 -0400
@@ -766,7 +766,7 @@ read_pdf_info(char *image_name, char *pa
if (page_name) {
// get page by name
GString name(page_name);
- LinkDest *link = pdf_doc->doc->findDest(&name);
+ std::unique_ptr<LinkDest> link = pdf_doc->doc->findDest(&name);
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
@@ -774,7 +774,6 @@ read_pdf_info(char *image_name, char *pa
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
- delete link;
} else {
// get page by number
if (page_num <= 0 || page_num > epdf_num_pages)

@ -1,22 +0,0 @@
diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20200327/source/texk/kpathsea/texmf.cnf
--- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix 2020-04-20 14:29:38.934769870 -0400
+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-04-20 14:31:48.070069635 -0400
@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
+% Texinfo on Fedora lives out of $TEXMFROOT
+TEXINFOHOME = $SELFAUTODIR/share/texmf
+
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive2020/texmf-var
@@ -108,7 +111,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not

File diff suppressed because it is too large Load Diff

@ -1,12 +0,0 @@
diff -up texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest texlive-base-20180414/source/texk/web2c/omegafonts/check.test
--- texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest 2018-10-04 13:24:17.965126655 -0400
+++ texlive-base-20180414/source/texk/web2c/omegafonts/check.test 2018-10-04 13:24:26.068945230 -0400
@@ -4,6 +4,8 @@
# Copyright 2014, 2015 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
+exit 0
+
test -d tests || mkdir -p tests
TEXMFCNF=$srcdir/../../kpathsea

@ -1,11 +0,0 @@
diff -up texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c
--- texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh 2019-03-19 11:02:44.303218932 -0400
+++ texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c 2019-03-19 11:02:59.545857443 -0400
@@ -6023,7 +6023,6 @@ synctex_scanner_p synctex_scanner_new_wi
if ((scanner->reader = synctex_reader_init_with_output_file(scanner->reader, output, build_directory))) {
return parse? synctex_scanner_parse(scanner):scanner;
}
- _synctex_error("No file?");
return NULL;
}

@ -1,16 +0,0 @@
diff -up texlive-base-20190410/source/texk/detex/detex-src/detex.l.me texlive-base-20190410/source/texk/detex/detex-src/detex.l
--- texlive-base-20190410/source/texk/detex/detex-src/detex.l.me 2020-02-05 12:54:36.100840384 +0100
+++ texlive-base-20190410/source/texk/detex/detex-src/detex.l 2020-02-05 13:00:28.476320773 +0100
@@ -898,10 +898,10 @@ TexOpen(char *sbFile)
#else
if (*sbFile == '/') { /* absolute path */
#endif
- (void)sprintf(sbFullPath, "%s", sbFile);
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s", sbFile);
iPath = csbInputPaths; /* only check once */
} else
- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile);
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s/%s", rgsbInputPaths[iPath], sbFile);
#ifdef OS2
pch = sbFullPath;
while (pch = strchr(pch, '\\'))

@ -0,0 +1,12 @@
--- texlive-20180414-source/texk/xdvik/psgs.c 2016-11-25 19:24:41.000000000 +0100
+++ texlive-20200327-source/texk/xdvik/psgs.c 2020-03-01 20:07:53.000000000 +0100
@@ -561,7 +561,8 @@
">> setuserparams .locksafe "
"} stopped pop\n";
static const char str1[] =
- "/xdvi$run {$error /newerror false put {currentfile cvx execute} stopped pop} "
+ "/xdvi$run "
+ "{$error /newerror false put currentfile cvx stopped {handleerror} if} "
"def "
"/xdvi$ack (\347\310\376) def "
"/xdvi$dslen countdictstack def "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save