From 61a9848217124579979288d1ca80d4f1e649fa9d Mon Sep 17 00:00:00 2001 From: Luigi Scarso <luigi.scarso@gmail.com> Date: Sun, 11 Aug 2019 23:27:18 +0000 Subject: [PATCH] Sync with TeX Live revision 51866 --- source/build-aux/config.guess | 6 +- source/configure | 2 +- source/doc/ChangeLog | 5 +- source/doc/tlbuild.info | 802 +++++++++++---------- source/doc/tlbuild.texi | 58 +- source/libs/configure | 2 +- source/libs/harfbuzz/Makefile.am | 2 +- source/texk/configure | 2 +- source/texk/kpathsea/ChangeLog | 54 +- source/texk/kpathsea/Makefile.am | 9 +- source/texk/kpathsea/Makefile.in | 6 +- source/texk/kpathsea/cnf.c | 93 ++- source/texk/kpathsea/cnf.h | 30 +- source/texk/kpathsea/doc/kpathsea.info | 194 ++--- source/texk/kpathsea/doc/kpathsea.texi | 37 +- source/texk/kpathsea/kpsewhich.c | 29 +- source/texk/kpathsea/progname.h | 18 +- source/texk/kpathsea/tex-file.c | 17 +- source/texk/kpathsea/texmf.cnf | 152 ++-- source/texk/kpathsea/types.h | 7 +- source/texk/texlive/tl_scripts/fmtutil.cnf | 11 +- source/texk/web2c/ChangeLog | 30 + source/texk/web2c/Makefile.am | 2 +- source/texk/web2c/Makefile.in | 27 +- source/texk/web2c/NEWS | 7 +- source/texk/web2c/ac/web2c.ac | 2 +- source/texk/web2c/configure | 2 +- source/texk/web2c/cpascal.h | 1 + source/texk/web2c/doc/web2c.info | 161 +++-- source/texk/web2c/doc/web2c.texi | 8 +- source/texk/web2c/eptexdir/eptex_version.h | 2 +- source/texk/web2c/lib/ChangeLog | 32 + source/texk/web2c/lib/lib.h | 4 + source/texk/web2c/lib/texmfmp.c | 107 ++- source/texk/web2c/man/ChangeLog | 14 + source/texk/web2c/man/aleph.man | 9 +- source/texk/web2c/man/etex.man | 12 +- source/texk/web2c/man/mf.man | 9 +- source/texk/web2c/man/pdftex.man | 120 ++- source/texk/web2c/man/tex.man | 12 +- source/texk/web2c/pdftexdir/am/pdftex.am | 14 +- source/texk/web2c/synctexdir/ChangeLog | 5 + source/texk/web2c/synctexdir/synctex.c | 5 +- source/texk/web2c/texmfmp-help.h | 12 +- source/texk/web2c/triptrap/trip.diffs | 33 +- source/texk/web2c/web2c/ChangeLog | 4 + source/texk/web2c/web2c/texmf.defines | 1 + source/utils/README | 4 +- source/utils/configure | 2 +- 49 files changed, 1316 insertions(+), 861 deletions(-) diff --git a/source/build-aux/config.guess b/source/build-aux/config.guess index 41b8b854c..97ad07333 100755 --- a/source/build-aux/config.guess +++ b/source/build-aux/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2019-06-10' +timestamp='2019-07-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -278,8 +278,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) diff --git a/source/configure b/source/configure index 4b23391ee..067629f10 100755 --- a/source/configure +++ b/source/configure @@ -4014,7 +4014,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 50341 2019-03-11 22:04:24Z karl $ +# $Id: web2c.ac 51577 2019-07-08 06:07:11Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/doc/ChangeLog b/source/doc/ChangeLog index 1f5291248..7eb81910b 100644 --- a/source/doc/ChangeLog +++ b/source/doc/ChangeLog @@ -1,3 +1,7 @@ +2019-08-11 Karl Berry <karl@freefriends.org> + + * tlbuild.texi (Build one package): rm sources to build without C++11. + 2018-04-10 Karl Berry <karl@tug.org> * tlbuild.texi (Cross compilation): move to under Building. @@ -5,7 +9,6 @@ * Makefile.am (*_node_{good,bad}): update for current pod doc. ($(mydoc)-incl.texi): hint to symlink scripts for pod2texi. - 2018-02-20 Karl Berry <karl@freefriends.org> diff --git a/source/doc/tlbuild.info b/source/doc/tlbuild.info index 59e87232c..3b71c7756 100644 --- a/source/doc/tlbuild.info +++ b/source/doc/tlbuild.info @@ -169,19 +169,18 @@ Automake/Autoconf output in general) work with any reasonable 'make'. A C++11 compiler is similarly required because of the third-party libraries ICU and Poppler; the program 'dvisvgm' also requires C++11. -It is possible to build everything else with older compilers; -<https://tug.org/texlive/custom-bin.html> links to a build script for -doing this. +It is possible to build everything else with older compilers, but you +have to remove the C++11-dependent sources. *Note Build one package::. - However, a few programs in the tree have additional requirements: + A few programs in the tree have additional requirements: 'web2c' requires 'perl' for some tests run by 'make check'. 'xdvik' 'xpdfopen' - require X11 headers and libraries, often in "development" packages - that are not installed by default. + require X11 headers and libraries, typically in "development" + packages that are not installed by default. 'xetex' requires 'fontconfig' (again both headers and library), or, for @@ -189,8 +188,8 @@ doing this. 'xindy' requires GNU 'clisp', 'libsigsegv', and 'libiconv'; additionally, - to build the rules and/or documentation: 'perl', 'latex', and - 'pdflatex' + to build the rules and/or documentation: 'perl', 'latex', + 'pdflatex'. Lacking the required tools, building these programs must avoided, e.g., 'configure --without-x --disable-xetex --disable-xindy' @@ -329,16 +328,9 @@ library modules are configured but none are made. However, the invoked to build an individual program or library, first building any required libraries. - This "build-on-demand" procedure is used, e.g., in the upstream -LuaTeX repository to build LuaTeX, from a subset of the complete -TeX Live source tree. As another example, when building the original -e-TeX has been disabled (as it is by default), one can run 'make etex' -(or 'make etex.exe') in 'texk/web2c/' to build e-TeX (although there is -no comparably simple way to _install_ e-TeX). - - If you want to work on a single program within the TL sources, this -is the recommended way to do it. Here is an example from start to -finish for working on 'dvipdfm-x'. + Here is an example from start to finish for working on 'dvipdfm-x'. +(Unfortunately, this does not suffice for building one, or a subset, of +the TeX engines; see the next section.) mkdir mydir && cd mydir # new working directory @@ -387,10 +379,19 @@ this approach, see the 'build-pdftex.sh' script in the 'pdftex' development source (details at <http://pdftex.org>), which is indeed such a cut-down TL source tree. - Even with '--disable-all-pkgs', dependencies will be checked. For -instance, if a (non-MacOSX) system does not have 'fontconfig', XeTeX -cannot be built (*note Prerequisites::) and 'configure' will terminate. -To proceed without such dependencies, specify '--enable-missing' also. + Some libraries and programs require C++11. If you want to build with +an older compiler lacking such support, you need to (re)move those +source directories; specifying '--disable' for them does not suffice, +unfortunately. Specifically, before running 'configure': + + rm -rf libs/icu libs/poppler libs/graphite2 texk/dvisvgm + + Also, even with '--disable-all-pkgs', dependencies are (currently) +checked. For instance, if a (non-MacOSX) system does not have +'fontconfig', XeTeX cannot be built (*note Prerequisites::), and +'configure' will terminate even with '--disable-xetex'. To proceed +without such dependencies, specify '--enable-missing' also. (Patches to +improve this would be most welcome.) By default, the 'gcc' compilers will be used if present; otherwise, individual packages may use something different. You can explicitly @@ -417,8 +418,9 @@ explicitly specify what to make. For example, to build only LuaTeX: This works because the 'make' automatically runs 'configure' as necessary for the dependencies and target. Furthermore, the source tree -can be cut down to just what is needed for the given engine (as the -separate pdfTeX and LuaTeX source repositories do). +can be cut down to just what is needed for the given engine (the +separate pdfTeX and LuaTeX source repositories do this, if you want to +peruse examples). We hope to improve the situation in the future. Patches are welcome. @@ -771,7 +773,6 @@ runs of 'bison', 'flex', or 'makeinfo' with 'touch' of the generated ('.c', '.h', or '.info') files. With '--enable-maintainer-mode' it may also be necessary to 'touch' first 'aclocal.m4', then 'configure' and 'config.h.in' (or 'c-auto.in'), and finally all 'Makefile.in' files. -Perhaps 'make -t' will help. File: tlbuild.info, Node: Top-level directories, Next: Autoconf macros, Prev: Build system tools, Up: Layout and infrastructure @@ -5175,7 +5176,7 @@ Index * ANSI C: Declarations and definitions. (line 6) * ApplicationServices Mac framework, required by xetex: Prerequisites. - (line 32) + (line 31) * asymptote: Linked scripts. (line 23) * asymptote <1>: asymptote. (line 6) * Autoconf: Overview of build system. @@ -5206,6 +5207,7 @@ Index * building: Building. (line 6) * building a distribution: Build distribution. (line 6) * building in parallel: Build in parallel. (line 6) +* C++11, removing dependent sources: Build one package. (line 64) * C++11, required: Prerequisites. (line 15) * C, ANSI, required: Declarations and definitions. (line 6) @@ -5216,7 +5218,7 @@ Index * callexe.c: Macros for Windows. (line 32) * CC: Variables for configure. (line 10) -* CC=C-COMPILER: Build one package. (line 76) +* CC=C-COMPILER: Build one package. (line 78) * CC_BUILD: Cross problems. (line 13) * chktex: Declarations and definitions. (line 18) @@ -5226,8 +5228,8 @@ Index (line 17) * CLISP <1>: Configure options for utils/xindy. (line 14) -* clisp, required by xindy: Prerequisites. (line 36) -* Cocoa Mac framework, required by xetex: Prerequisites. (line 32) +* clisp, required by xindy: Prerequisites. (line 35) +* Cocoa Mac framework, required by xetex: Prerequisites. (line 31) * coding conventions: Coding conventions. (line 6) * compilers, C and C++11: Prerequisites. (line 6) * config.guess, config.sub, ...: Top-level directories. @@ -5273,7 +5275,7 @@ Index * ctangle: Cross problems. (line 26) * CXX: Variables for configure. (line 11) -* CXX=C++-COMPILER: Build one package. (line 76) +* CXX=C++-COMPILER: Build one package. (line 78) * declarations and definitions, in source code: Declarations and definitions. (line 6) * declarations before statements, avoiding: Declarations and definitions. @@ -5305,7 +5307,7 @@ Index * failure to build: Build problems. (line 6) * flags, macros for library and header: Macros for library and header flags. (line 6) -* fontconfig library, required by xetex: Prerequisites. (line 32) +* fontconfig library, required by xetex: Prerequisites. (line 31) * FreeType: Prerequisites. (line 11) * freetype cross compiling: Cross problems. (line 13) * freetype library: freetype library. (line 6) @@ -5314,7 +5316,7 @@ Index (line 24) * FT2_CONFIG: Variables for configure. (line 21) -* gcc, default compilers: Build one package. (line 76) +* gcc, default compilers: Build one package. (line 78) * general setup macros: General setup macros. (line 6) * generic library module, adding: Adding a new generic library module. (line 6) @@ -5434,7 +5436,7 @@ Index * library modules: Library modules. (line 6) * library-specific configure options: Library-specific configure options. (line 6) -* libsigsegv, required by xindy: Prerequisites. (line 36) +* libsigsegv, required by xindy: Prerequisites. (line 35) * libstc++, statically linking: Macros for compilers. (line 29) * Libtool: Overview of build system. (line 6) @@ -5473,7 +5475,7 @@ Index * motif: Configure options for texk/xdvik. (line 9) * native cross compilation: Cross compilation. (line 10) -* OBJCXX=OBJC-COMPILER: Build one package. (line 76) +* OBJCXX=OBJC-COMPILER: Build one package. (line 78) * one engine, building: Build one engine. (line 6) * one package, building: Build one package. (line 6) * OpenGL, required for Asymptote: asymptote. (line 6) @@ -5488,7 +5490,7 @@ Index (line 41) * PERL: Variables for configure. (line 39) -* perl, required by web2c, etc.: Prerequisites. (line 24) +* perl, required by web2c, etc.: Prerequisites. (line 23) * PKG_CONFIG: Variables for configure. (line 23) * plain.tex, not in source tree: Installing. (line 8) @@ -5518,7 +5520,7 @@ Index * setup macros, general: General setup macros. (line 6) * shared libraries, using vs. avoiding: Distro builds. (line 11) * size of PDF and PS files: --disable-largefile. (line 11) -* size of source tree: Build one package. (line 60) +* size of source tree: Build one package. (line 53) * source code declarations: Declarations and definitions. (line 6) * source directory building, not supported: Building. (line 17) @@ -5580,7 +5582,7 @@ Index * wrapper build system: freetype library. (line 6) * X toolkit: Configure options for texk/web2c. (line 22) -* X11 development, required by X clients: Prerequisites. (line 28) +* X11 development, required by X clients: Prerequisites. (line 27) * X11 headers, and const: Const. (line 21) * xasy: asymptote. (line 6) * xaw: Configure options for texk/xdvik. @@ -5611,368 +5613,368 @@ Node: Top1208 Node: Introduction2118 Node: Overview of build system3946 Node: Prerequisites5997 -Node: Building8616 -Node: Build iteration10002 -Node: Build problems11043 -Node: Build in parallel11497 -Node: Build distribution12101 -Node: Build one package12749 -Node: Build one engine16384 -Node: Cross compilation17399 -Node: Cross configuring18679 -Node: Cross problems20356 -Node: Installing22018 -Node: Installation directories23038 -Node: Linked scripts24856 -Node: Distro builds26347 -Node: Layout and infrastructure28723 -Node: Build system tools29554 -Node: Top-level directories31800 -Node: Autoconf macros34036 -Node: General setup macros34798 -Node: Macros for programs35673 -Node: Macros for compilers36474 -Node: Macros for libraries37882 -Node: Macros for library and header flags38308 -Node: Macros for Windows40219 -Node: Library modules41806 -Node: png library42295 -Node: zlib library44643 -Node: freetype library45158 -Node: kpathsea library45854 -Node: Program modules47233 -Node: t1utils package47661 -Node: xindy package48206 -Node: xdvik package49320 -Node: asymptote50379 -Node: Extending TeX Live50875 -Node: Adding a new program module51658 -Node: Adding a new generic library module54997 -Node: Adding a new TeX-specific library module57226 -Node: Configure options57924 -Node: Global configure options59305 -Node: --disable-native-texlive-build59847 -Node: --prefix --bindir ...60809 -Node: --disable-largefile61349 -Node: --disable-missing62050 -Node: --enable-compiler-warnings=LEVEL62451 -Node: --enable-cxx-runtime-hack63107 -Node: --enable-maintainer-mode63527 -Node: --enable-multiplatform64056 -Node: --enable-shared64629 -Node: --enable-silent-rules65000 -Node: --without-ln-s65452 -Node: --without-x65799 -Node: Program-specific configure options65987 -Node: --enable-PROG --disable-PROG66630 -Node: --disable-all-pkgs66903 -Node: Configure options for texk/web2c67686 -Node: Configure options for texk/bibtex-x70224 -Node: Configure options for texk/dvipdfm-x70767 -Node: Configure options for texk/dvisvgm71543 -Node: Configure options for texk/texlive72424 -Node: Configure options for texk/xdvik72845 -Node: Configure options for utils/xindy73466 -Node: Library-specific configure options74356 -Node: Configure options for kpathsea75358 -Node: Configure options for system poppler76107 -Node: Variables for configure76871 -Node: Coding conventions78297 -Node: Declarations and definitions79012 -Node: Const81186 -Node: Continuous integration83050 -Node: Transfer from Subversion to Github83714 -Node: Automatic update of the Git mirror85876 -Node: CI testing on Travis-CI86458 -Node: Releases on Github87167 -Node: install-tl87607 -Node: install-tl NAME87976 -Node: install-tl SYNOPSIS88134 -Node: install-tl DESCRIPTION88392 -Node: install-tl REFERENCES89459 -Node: install-tl OPTIONS89985 -Ref: install-tl *-gui* [[=]_module_]90326 -Ref: install-tl text90536 -Ref: install-tl wizard90659 -Ref: install-tl perltk90813 -Ref: install-tl *-no-gui*91244 -Ref: install-tl *-lang* _llcode_91325 -Ref: install-tl *-repository* _url|path_92012 -Ref: install-tl *-select-repository*93892 -Ref: install-tl *-all-options*94328 -Ref: install-tl *-custom-bin* _path_94583 -Ref: install-tl *-debug-translation*95415 -Ref: install-tl *-force-platform* _platform_95634 -Ref: install-tl *-help*, *--help*, *-?*95878 -Ref: install-tl *-in-place*96285 -Ref: install-tl *-init-from-profile* _profile_file_96830 -Ref: install-tl *-logfile* _file_97050 -Ref: install-tl *-no-cls*97401 -Ref: install-tl *-non-admin*97535 -Ref: install-tl *-persistent-downloads*97640 -Ref: install-tl *-no-persistent-downloads*97668 -Ref: install-tl *-no-verify-downloads*98286 -Ref: install-tl *-portable*98647 -Ref: install-tl *-print-platform*98786 -Ref: install-tl *-profile* _profile_file_98984 -Ref: install-tl *-q*99164 -Ref: install-tl *-scheme* _scheme_99226 -Ref: install-tl *-v*99700 -Ref: install-tl *-version*, *--version*99855 -Node: install-tl PROFILES99986 -Ref: install-tl instopt_adjustpath (default 0 on Unix, 1 on Windows)102636 -Ref: install-tl instopt_adjustrepo (default 1)102712 -Ref: install-tl instopt_letter (default 0)102849 -Ref: install-tl instopt_portable (default 0)102940 -Ref: install-tl instopt_write18_restricted (default 1)103036 -Node: install-tl ENVIRONMENT VARIABLES104355 -Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK104746 -Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE104948 -Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME105058 -Ref: install-tl TEXLIVE_INSTALL_PREFIX105179 -Ref: install-tl TEXLIVE_INSTALL_TEXDIR105205 -Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG105236 -Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR105264 -Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME105293 -Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL105323 -Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG105357 -Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR105388 -Ref: install-tl NOPERLDOC105759 -Node: install-tl AUTHORS AND COPYRIGHT105823 -Node: tlmgr106239 -Node: tlmgr NAME106692 -Node: tlmgr SYNOPSIS106824 -Node: tlmgr DESCRIPTION107014 -Node: tlmgr EXAMPLES108110 -Ref: tlmgr tlmgr option repository ctan108361 -Ref: tlmgr tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet108433 -Ref: tlmgr tlmgr update --list108885 -Ref: tlmgr tlmgr update --all108978 -Ref: tlmgr tlmgr info _what_109135 -Node: tlmgr OPTIONS109397 -Ref: tlmgr *--repository* _url|path_109917 -Ref: tlmgr *--gui* [_action_]110642 -Ref: tlmgr *--gui-lang* _llcode_111049 -Ref: tlmgr *--debug-translation*111732 -Ref: tlmgr *--machine-readable*111935 -Ref: tlmgr *--no-execute-actions*112203 -Ref: tlmgr *--package-logfile* _file_112396 -Ref: tlmgr *--pause*112650 -Ref: tlmgr *--persistent-downloads*112805 -Ref: tlmgr *--no-persistent-downloads*112833 -Ref: tlmgr *--pin-file*113327 -Ref: tlmgr *--usermode*113545 -Ref: tlmgr *--usertree* _dir_113665 -Ref: tlmgr *--verify-repo=[none|main|all]*113791 -Node: tlmgr ACTIONS114690 -Node: tlmgr help115542 -Node: tlmgr version116018 -Node: tlmgr backup116281 -Ref: tlmgr *backup [_option_...] --all*116452 -Ref: tlmgr *backup [_option_...] _pkg_...*116485 -Ref: tlmgr *--backupdir* _directory_117340 -Ref: tlmgr *--all*117557 -Ref: tlmgr *--clean*[=_N_]117809 -Ref: tlmgr *--dry-run*118136 -Node: tlmgr candidates _pkg_118266 -Node: tlmgr check [_option_...] [files|depends|executes|runfiles|all]118612 -Ref: tlmgr *files*118985 -Ref: tlmgr *depends*119120 -Ref: tlmgr *executes*119462 -Ref: tlmgr *runfiles*119580 -Ref: tlmgr *--use-svn*119701 -Node: tlmgr conf119818 -Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*120097 -Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|delete] [_value_]*120161 -Node: tlmgr dump-tlpdb [_option_...] [--json]122506 -Ref: tlmgr *--local*122939 -Ref: tlmgr *--remote*122978 -Ref: tlmgr *--json*123016 -Node: tlmgr generate123587 -Ref: tlmgr *generate [_option_...] language*123783 -Ref: tlmgr *generate [_option_...] language.dat*123822 -Ref: tlmgr *generate [_option_...] language.def*123861 -Ref: tlmgr *generate [_option_...] language.dat.lua*123904 -Ref: tlmgr *--dest* _output_file_126230 -Ref: tlmgr *--localcfg* _local_conf_file_126806 -Ref: tlmgr *--rebuild-sys*126929 -Node: tlmgr gui127744 -Node: tlmgr info127922 -Ref: tlmgr *info [_option_...] _pkg_...*128084 -Ref: tlmgr *info [_option_...] collections*128118 -Ref: tlmgr *info [_option_...] schemes*128148 -Ref: tlmgr *--list*129678 -Ref: tlmgr *--only-installed*129992 -Ref: tlmgr *--data item1,item2,...*130191 -Ref: tlmgr *--json* 1130772 -Node: tlmgr init-usertree131155 -Node: tlmgr install [_option_...] _pkg_...131536 -Ref: tlmgr *--dry-run* 1132046 -Ref: tlmgr *--file*132163 -Ref: tlmgr *--force*132385 -Ref: tlmgr *--no-depends*132605 -Ref: tlmgr *--no-depends-at-all*132764 -Ref: tlmgr *--reinstall*133164 -Ref: tlmgr *--with-doc*133542 -Ref: tlmgr *--with-src*133555 -Node: tlmgr key134077 -Ref: tlmgr *key list*134235 -Ref: tlmgr *key add _file_*134253 -Ref: tlmgr *key remove _keyid_*134275 -Node: tlmgr list134870 -Node: tlmgr option135032 -Ref: tlmgr *option [--json] [show]*135187 -Ref: tlmgr *option [--json] showall*135213 -Ref: tlmgr *option _key_ [_value_]*135239 -Node: tlmgr paper139636 -Ref: tlmgr *paper [a4|letter]*139785 -Ref: tlmgr *[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*139859 -Ref: tlmgr *paper --json*139874 -Node: tlmgr path141089 -Ref: tlmgr *path [--w32mode=user|admin] add*141250 -Ref: tlmgr *path [--w32mode=user|admin] remove*141287 -Node: tlmgr pinning142627 -Ref: tlmgr pinning show142868 -Ref: tlmgr pinning add _repo_ _pkgglob_...142941 -Ref: tlmgr pinning remove _repo_ _pkgglob_...143060 -Ref: tlmgr pinning remove _repo_ --all143213 -Node: tlmgr platform143267 -Ref: tlmgr *platform list|add|remove _platform_...*143453 -Ref: tlmgr *platform set _platform_*143480 -Ref: tlmgr *platform set auto*143501 -Ref: tlmgr *--dry-run* 2144387 -Node: tlmgr postaction144506 -Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*144736 -Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*144810 -Ref: tlmgr *--w32mode=[user|admin]*145125 -Ref: tlmgr *--fileassocmode=[1|2]*145541 -Ref: tlmgr *--all* 1145826 -Node: tlmgr print-platform145881 -Node: tlmgr print-platform-info146212 -Node: tlmgr remove [_option_...] _pkg_...146512 -Ref: tlmgr *--all* 2146996 -Ref: tlmgr *--backup*147106 -Ref: tlmgr *--backupdir* _directory_ 1147132 -Ref: tlmgr *--no-depends* 1147537 -Ref: tlmgr *--no-depends-at-all* 1147599 -Ref: tlmgr *--force* 1147702 -Ref: tlmgr *--dry-run* 3148175 -Node: tlmgr repository148282 -Ref: tlmgr *repository list*148470 -Ref: tlmgr *repository list _path|tag_*148500 -Ref: tlmgr *repository add _path_ [_tag_]*148533 -Ref: tlmgr *repository remove _path|tag_*148565 -Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*148619 -Node: tlmgr restore149672 -Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*149851 -Ref: tlmgr *restore [_option_...] --all*149881 -Ref: tlmgr *--all* 3150581 -Ref: tlmgr *--backupdir* _directory_ 2150795 -Ref: tlmgr *--dry-run* 4150976 -Ref: tlmgr *--force* 2151108 -Ref: tlmgr *--json* 2151154 -Node: tlmgr search151481 -Ref: tlmgr *search [_option_...] _what_*151645 -Ref: tlmgr *search [_option_...] --file _what_*151682 -Ref: tlmgr *search [_option_...] --all _what_*151718 -Ref: tlmgr *--file* 1151938 -Ref: tlmgr *--all* 4152000 -Ref: tlmgr *--global*152089 -Ref: tlmgr *--word*152216 -Node: tlmgr shell152531 -Ref: tlmgr protocol153266 -Ref: tlmgr help 1153330 -Ref: tlmgr version 1153383 -Ref: tlmgr quit, end, bye, byebye, EOF153451 -Ref: tlmgr restart153472 -Ref: tlmgr load [local|remote]153595 -Ref: tlmgr save153665 -Ref: tlmgr get [_var_] =item set [_var_ [_val_]]153788 -Node: tlmgr show154389 -Node: tlmgr uninstall154556 -Node: tlmgr update [_option_...] [_pkg_...]154786 -Ref: tlmgr *--all* 5155157 -Ref: tlmgr *--self*156898 -Ref: tlmgr *--dry-run* 5157662 -Ref: tlmgr *--list* [_pkg_]157839 -Ref: tlmgr *--exclude* _pkg_158528 -Ref: tlmgr *--no-auto-remove* [_pkg_...]159328 -Ref: tlmgr *--no-auto-install* [_pkg_...]159779 -Ref: tlmgr *--reinstall-forcibly-removed*160435 -Ref: tlmgr *--backup* 1160970 -Ref: tlmgr *--backupdir* _directory_ 3160996 -Ref: tlmgr *--no-depends* 2162162 -Ref: tlmgr *--no-depends-at-all* 2162365 -Ref: tlmgr *--force* 3162468 -Node: tlmgr CONFIGURATION FILE FOR TLMGR163283 -Ref: tlmgr auto-remove, value 0 or 1 (default 1), same as command-line option.164296 -Ref: tlmgr gui-expertmode, value 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.164433 -Ref: tlmgr gui-lang _llcode_, with a language code value as with the command-line option.164515 -Ref: tlmgr no-checksums, value 0 or 1 (default 0, see below).164569 -Ref: tlmgr persistent-downloads, value 0 or 1 (default 1), same as command-line option.164649 -Ref: tlmgr require-verification, value 0 or 1 (default 0), same as command-line option.164729 -Ref: tlmgr update-exclude, value: comma-separated list of packages (no space allowed). Same as the command line option --exclude for the action update.164877 -Ref: tlmgr verify-downloads, value 0 or 1 (default 1), same as command-line option.164953 -Ref: tlmgr allowed-actions _action1_ [,_action_,...] The value is a comma-separated list of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode).165222 -Node: tlmgr CRYPTOGRAPHIC VERIFICATION166308 -Node: tlmgr Configuration of GnuPG invocation168457 -Node: tlmgr USER MODE169095 -Node: tlmgr User mode install171941 -Node: tlmgr User mode backup, restore, remove, update173085 -Node: tlmgr User mode generate, option, paper173527 -Node: tlmgr MULTIPLE REPOSITORIES173903 -Node: tlmgr Pinning175632 -Node: tlmgr GUI FOR TLMGR177607 -Node: tlmgr Main display178947 -Node: tlmgr Display configuration area179199 -Ref: tlmgr Status179560 -Ref: tlmgr Category179724 -Ref: tlmgr Match179910 -Ref: tlmgr Selection180091 -Ref: tlmgr Display configuration buttons180295 -Node: tlmgr Package list area180478 -Ref: tlmgr a checkbox181062 -Ref: tlmgr package name181198 -Ref: tlmgr local revision (and version)181297 -Ref: tlmgr remote revision (and version)181672 -Ref: tlmgr short description181969 -Node: tlmgr Main display action buttons182014 -Ref: tlmgr Update all installed182280 -Ref: tlmgr Update182652 -Ref: tlmgr Install182702 -Ref: tlmgr Remove182888 -Ref: tlmgr Backup183066 -Node: tlmgr Menu bar183223 -Ref: tlmgr tlmgr menu183446 -Ref: tlmgr Options menu183754 -Ref: tlmgr Actions menu184837 -Ref: tlmgr Help menu185265 -Node: tlmgr GUI options185398 -Ref: tlmgr -background _color_185644 -Ref: tlmgr -font " _fontname_ _fontsize_ "185709 -Ref: tlmgr -foreground _color_185867 -Ref: tlmgr -geometry _geomspec_185919 -Ref: tlmgr -xrm _xresource_186111 -Node: tlmgr MACHINE-READABLE OUTPUT186379 -Node: tlmgr Machine-readable update and install output187189 -Ref: tlmgr location-url _location_188465 -Ref: tlmgr total-bytes _count_188681 -Ref: tlmgr _pkgname_189091 -Ref: tlmgr _status_189301 -Ref: tlmgr d189379 -Ref: tlmgr f189439 -Ref: tlmgr u189618 -Ref: tlmgr r189664 -Ref: tlmgr a189787 -Ref: tlmgr i189965 -Ref: tlmgr I190084 -Ref: tlmgr _localrev_190186 -Ref: tlmgr _serverrev_190293 -Ref: tlmgr _size_190405 -Ref: tlmgr _runtime_190574 -Ref: tlmgr _esttot_190644 -Node: tlmgr Machine-readable option output190677 -Node: tlmgr AUTHORS AND COPYRIGHT191189 -Node: Index191588 +Node: Building8606 +Node: Build iteration9992 +Node: Build problems11033 +Node: Build in parallel11487 +Node: Build distribution12091 +Node: Build one package12739 +Node: Build one engine16418 +Node: Cross compilation17467 +Node: Cross configuring18747 +Node: Cross problems20424 +Node: Installing22086 +Node: Installation directories23106 +Node: Linked scripts24924 +Node: Distro builds26415 +Node: Layout and infrastructure28791 +Node: Build system tools29622 +Node: Top-level directories31839 +Node: Autoconf macros34075 +Node: General setup macros34837 +Node: Macros for programs35712 +Node: Macros for compilers36513 +Node: Macros for libraries37921 +Node: Macros for library and header flags38347 +Node: Macros for Windows40258 +Node: Library modules41845 +Node: png library42334 +Node: zlib library44682 +Node: freetype library45197 +Node: kpathsea library45893 +Node: Program modules47272 +Node: t1utils package47700 +Node: xindy package48245 +Node: xdvik package49359 +Node: asymptote50418 +Node: Extending TeX Live50914 +Node: Adding a new program module51697 +Node: Adding a new generic library module55036 +Node: Adding a new TeX-specific library module57265 +Node: Configure options57963 +Node: Global configure options59344 +Node: --disable-native-texlive-build59886 +Node: --prefix --bindir ...60848 +Node: --disable-largefile61388 +Node: --disable-missing62089 +Node: --enable-compiler-warnings=LEVEL62490 +Node: --enable-cxx-runtime-hack63146 +Node: --enable-maintainer-mode63566 +Node: --enable-multiplatform64095 +Node: --enable-shared64668 +Node: --enable-silent-rules65039 +Node: --without-ln-s65491 +Node: --without-x65838 +Node: Program-specific configure options66026 +Node: --enable-PROG --disable-PROG66669 +Node: --disable-all-pkgs66942 +Node: Configure options for texk/web2c67725 +Node: Configure options for texk/bibtex-x70263 +Node: Configure options for texk/dvipdfm-x70806 +Node: Configure options for texk/dvisvgm71582 +Node: Configure options for texk/texlive72463 +Node: Configure options for texk/xdvik72884 +Node: Configure options for utils/xindy73505 +Node: Library-specific configure options74395 +Node: Configure options for kpathsea75397 +Node: Configure options for system poppler76146 +Node: Variables for configure76910 +Node: Coding conventions78336 +Node: Declarations and definitions79051 +Node: Const81225 +Node: Continuous integration83089 +Node: Transfer from Subversion to Github83753 +Node: Automatic update of the Git mirror85915 +Node: CI testing on Travis-CI86497 +Node: Releases on Github87206 +Node: install-tl87646 +Node: install-tl NAME88015 +Node: install-tl SYNOPSIS88173 +Node: install-tl DESCRIPTION88431 +Node: install-tl REFERENCES89498 +Node: install-tl OPTIONS90024 +Ref: install-tl *-gui* [[=]_module_]90365 +Ref: install-tl text90575 +Ref: install-tl wizard90698 +Ref: install-tl perltk90852 +Ref: install-tl *-no-gui*91283 +Ref: install-tl *-lang* _llcode_91364 +Ref: install-tl *-repository* _url|path_92051 +Ref: install-tl *-select-repository*93931 +Ref: install-tl *-all-options*94367 +Ref: install-tl *-custom-bin* _path_94622 +Ref: install-tl *-debug-translation*95454 +Ref: install-tl *-force-platform* _platform_95673 +Ref: install-tl *-help*, *--help*, *-?*95917 +Ref: install-tl *-in-place*96324 +Ref: install-tl *-init-from-profile* _profile_file_96869 +Ref: install-tl *-logfile* _file_97089 +Ref: install-tl *-no-cls*97440 +Ref: install-tl *-non-admin*97574 +Ref: install-tl *-persistent-downloads*97679 +Ref: install-tl *-no-persistent-downloads*97707 +Ref: install-tl *-no-verify-downloads*98325 +Ref: install-tl *-portable*98686 +Ref: install-tl *-print-platform*98825 +Ref: install-tl *-profile* _profile_file_99023 +Ref: install-tl *-q*99203 +Ref: install-tl *-scheme* _scheme_99265 +Ref: install-tl *-v*99739 +Ref: install-tl *-version*, *--version*99894 +Node: install-tl PROFILES100025 +Ref: install-tl instopt_adjustpath (default 0 on Unix, 1 on Windows)102675 +Ref: install-tl instopt_adjustrepo (default 1)102751 +Ref: install-tl instopt_letter (default 0)102888 +Ref: install-tl instopt_portable (default 0)102979 +Ref: install-tl instopt_write18_restricted (default 1)103075 +Node: install-tl ENVIRONMENT VARIABLES104394 +Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK104785 +Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE104987 +Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME105097 +Ref: install-tl TEXLIVE_INSTALL_PREFIX105218 +Ref: install-tl TEXLIVE_INSTALL_TEXDIR105244 +Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG105275 +Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR105303 +Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME105332 +Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL105362 +Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG105396 +Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR105427 +Ref: install-tl NOPERLDOC105798 +Node: install-tl AUTHORS AND COPYRIGHT105862 +Node: tlmgr106278 +Node: tlmgr NAME106731 +Node: tlmgr SYNOPSIS106863 +Node: tlmgr DESCRIPTION107053 +Node: tlmgr EXAMPLES108149 +Ref: tlmgr tlmgr option repository ctan108400 +Ref: tlmgr tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet108472 +Ref: tlmgr tlmgr update --list108924 +Ref: tlmgr tlmgr update --all109017 +Ref: tlmgr tlmgr info _what_109174 +Node: tlmgr OPTIONS109436 +Ref: tlmgr *--repository* _url|path_109956 +Ref: tlmgr *--gui* [_action_]110681 +Ref: tlmgr *--gui-lang* _llcode_111088 +Ref: tlmgr *--debug-translation*111771 +Ref: tlmgr *--machine-readable*111974 +Ref: tlmgr *--no-execute-actions*112242 +Ref: tlmgr *--package-logfile* _file_112435 +Ref: tlmgr *--pause*112689 +Ref: tlmgr *--persistent-downloads*112844 +Ref: tlmgr *--no-persistent-downloads*112872 +Ref: tlmgr *--pin-file*113366 +Ref: tlmgr *--usermode*113584 +Ref: tlmgr *--usertree* _dir_113704 +Ref: tlmgr *--verify-repo=[none|main|all]*113830 +Node: tlmgr ACTIONS114729 +Node: tlmgr help115581 +Node: tlmgr version116057 +Node: tlmgr backup116320 +Ref: tlmgr *backup [_option_...] --all*116491 +Ref: tlmgr *backup [_option_...] _pkg_...*116524 +Ref: tlmgr *--backupdir* _directory_117379 +Ref: tlmgr *--all*117596 +Ref: tlmgr *--clean*[=_N_]117848 +Ref: tlmgr *--dry-run*118175 +Node: tlmgr candidates _pkg_118305 +Node: tlmgr check [_option_...] [files|depends|executes|runfiles|all]118651 +Ref: tlmgr *files*119024 +Ref: tlmgr *depends*119159 +Ref: tlmgr *executes*119501 +Ref: tlmgr *runfiles*119619 +Ref: tlmgr *--use-svn*119740 +Node: tlmgr conf119857 +Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*120136 +Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|delete] [_value_]*120200 +Node: tlmgr dump-tlpdb [_option_...] [--json]122545 +Ref: tlmgr *--local*122978 +Ref: tlmgr *--remote*123017 +Ref: tlmgr *--json*123055 +Node: tlmgr generate123626 +Ref: tlmgr *generate [_option_...] language*123822 +Ref: tlmgr *generate [_option_...] language.dat*123861 +Ref: tlmgr *generate [_option_...] language.def*123900 +Ref: tlmgr *generate [_option_...] language.dat.lua*123943 +Ref: tlmgr *--dest* _output_file_126269 +Ref: tlmgr *--localcfg* _local_conf_file_126845 +Ref: tlmgr *--rebuild-sys*126968 +Node: tlmgr gui127783 +Node: tlmgr info127961 +Ref: tlmgr *info [_option_...] _pkg_...*128123 +Ref: tlmgr *info [_option_...] collections*128157 +Ref: tlmgr *info [_option_...] schemes*128187 +Ref: tlmgr *--list*129717 +Ref: tlmgr *--only-installed*130031 +Ref: tlmgr *--data item1,item2,...*130230 +Ref: tlmgr *--json* 1130811 +Node: tlmgr init-usertree131194 +Node: tlmgr install [_option_...] _pkg_...131575 +Ref: tlmgr *--dry-run* 1132085 +Ref: tlmgr *--file*132202 +Ref: tlmgr *--force*132424 +Ref: tlmgr *--no-depends*132644 +Ref: tlmgr *--no-depends-at-all*132803 +Ref: tlmgr *--reinstall*133203 +Ref: tlmgr *--with-doc*133581 +Ref: tlmgr *--with-src*133594 +Node: tlmgr key134116 +Ref: tlmgr *key list*134274 +Ref: tlmgr *key add _file_*134292 +Ref: tlmgr *key remove _keyid_*134314 +Node: tlmgr list134909 +Node: tlmgr option135071 +Ref: tlmgr *option [--json] [show]*135226 +Ref: tlmgr *option [--json] showall*135252 +Ref: tlmgr *option _key_ [_value_]*135278 +Node: tlmgr paper139675 +Ref: tlmgr *paper [a4|letter]*139824 +Ref: tlmgr *[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*139898 +Ref: tlmgr *paper --json*139913 +Node: tlmgr path141128 +Ref: tlmgr *path [--w32mode=user|admin] add*141289 +Ref: tlmgr *path [--w32mode=user|admin] remove*141326 +Node: tlmgr pinning142666 +Ref: tlmgr pinning show142907 +Ref: tlmgr pinning add _repo_ _pkgglob_...142980 +Ref: tlmgr pinning remove _repo_ _pkgglob_...143099 +Ref: tlmgr pinning remove _repo_ --all143252 +Node: tlmgr platform143306 +Ref: tlmgr *platform list|add|remove _platform_...*143492 +Ref: tlmgr *platform set _platform_*143519 +Ref: tlmgr *platform set auto*143540 +Ref: tlmgr *--dry-run* 2144426 +Node: tlmgr postaction144545 +Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*144775 +Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*144849 +Ref: tlmgr *--w32mode=[user|admin]*145164 +Ref: tlmgr *--fileassocmode=[1|2]*145580 +Ref: tlmgr *--all* 1145865 +Node: tlmgr print-platform145920 +Node: tlmgr print-platform-info146251 +Node: tlmgr remove [_option_...] _pkg_...146551 +Ref: tlmgr *--all* 2147035 +Ref: tlmgr *--backup*147145 +Ref: tlmgr *--backupdir* _directory_ 1147171 +Ref: tlmgr *--no-depends* 1147576 +Ref: tlmgr *--no-depends-at-all* 1147638 +Ref: tlmgr *--force* 1147741 +Ref: tlmgr *--dry-run* 3148214 +Node: tlmgr repository148321 +Ref: tlmgr *repository list*148509 +Ref: tlmgr *repository list _path|tag_*148539 +Ref: tlmgr *repository add _path_ [_tag_]*148572 +Ref: tlmgr *repository remove _path|tag_*148604 +Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*148658 +Node: tlmgr restore149711 +Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*149890 +Ref: tlmgr *restore [_option_...] --all*149920 +Ref: tlmgr *--all* 3150620 +Ref: tlmgr *--backupdir* _directory_ 2150834 +Ref: tlmgr *--dry-run* 4151015 +Ref: tlmgr *--force* 2151147 +Ref: tlmgr *--json* 2151193 +Node: tlmgr search151520 +Ref: tlmgr *search [_option_...] _what_*151684 +Ref: tlmgr *search [_option_...] --file _what_*151721 +Ref: tlmgr *search [_option_...] --all _what_*151757 +Ref: tlmgr *--file* 1151977 +Ref: tlmgr *--all* 4152039 +Ref: tlmgr *--global*152128 +Ref: tlmgr *--word*152255 +Node: tlmgr shell152570 +Ref: tlmgr protocol153305 +Ref: tlmgr help 1153369 +Ref: tlmgr version 1153422 +Ref: tlmgr quit, end, bye, byebye, EOF153490 +Ref: tlmgr restart153511 +Ref: tlmgr load [local|remote]153634 +Ref: tlmgr save153704 +Ref: tlmgr get [_var_] =item set [_var_ [_val_]]153827 +Node: tlmgr show154428 +Node: tlmgr uninstall154595 +Node: tlmgr update [_option_...] [_pkg_...]154825 +Ref: tlmgr *--all* 5155196 +Ref: tlmgr *--self*156937 +Ref: tlmgr *--dry-run* 5157701 +Ref: tlmgr *--list* [_pkg_]157878 +Ref: tlmgr *--exclude* _pkg_158567 +Ref: tlmgr *--no-auto-remove* [_pkg_...]159367 +Ref: tlmgr *--no-auto-install* [_pkg_...]159818 +Ref: tlmgr *--reinstall-forcibly-removed*160474 +Ref: tlmgr *--backup* 1161009 +Ref: tlmgr *--backupdir* _directory_ 3161035 +Ref: tlmgr *--no-depends* 2162201 +Ref: tlmgr *--no-depends-at-all* 2162404 +Ref: tlmgr *--force* 3162507 +Node: tlmgr CONFIGURATION FILE FOR TLMGR163322 +Ref: tlmgr auto-remove, value 0 or 1 (default 1), same as command-line option.164335 +Ref: tlmgr gui-expertmode, value 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.164472 +Ref: tlmgr gui-lang _llcode_, with a language code value as with the command-line option.164554 +Ref: tlmgr no-checksums, value 0 or 1 (default 0, see below).164608 +Ref: tlmgr persistent-downloads, value 0 or 1 (default 1), same as command-line option.164688 +Ref: tlmgr require-verification, value 0 or 1 (default 0), same as command-line option.164768 +Ref: tlmgr update-exclude, value: comma-separated list of packages (no space allowed). Same as the command line option --exclude for the action update.164916 +Ref: tlmgr verify-downloads, value 0 or 1 (default 1), same as command-line option.164992 +Ref: tlmgr allowed-actions _action1_ [,_action_,...] The value is a comma-separated list of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode).165261 +Node: tlmgr CRYPTOGRAPHIC VERIFICATION166347 +Node: tlmgr Configuration of GnuPG invocation168496 +Node: tlmgr USER MODE169134 +Node: tlmgr User mode install171980 +Node: tlmgr User mode backup, restore, remove, update173124 +Node: tlmgr User mode generate, option, paper173566 +Node: tlmgr MULTIPLE REPOSITORIES173942 +Node: tlmgr Pinning175671 +Node: tlmgr GUI FOR TLMGR177646 +Node: tlmgr Main display178986 +Node: tlmgr Display configuration area179238 +Ref: tlmgr Status179599 +Ref: tlmgr Category179763 +Ref: tlmgr Match179949 +Ref: tlmgr Selection180130 +Ref: tlmgr Display configuration buttons180334 +Node: tlmgr Package list area180517 +Ref: tlmgr a checkbox181101 +Ref: tlmgr package name181237 +Ref: tlmgr local revision (and version)181336 +Ref: tlmgr remote revision (and version)181711 +Ref: tlmgr short description182008 +Node: tlmgr Main display action buttons182053 +Ref: tlmgr Update all installed182319 +Ref: tlmgr Update182691 +Ref: tlmgr Install182741 +Ref: tlmgr Remove182927 +Ref: tlmgr Backup183105 +Node: tlmgr Menu bar183262 +Ref: tlmgr tlmgr menu183485 +Ref: tlmgr Options menu183793 +Ref: tlmgr Actions menu184876 +Ref: tlmgr Help menu185304 +Node: tlmgr GUI options185437 +Ref: tlmgr -background _color_185683 +Ref: tlmgr -font " _fontname_ _fontsize_ "185748 +Ref: tlmgr -foreground _color_185906 +Ref: tlmgr -geometry _geomspec_185958 +Ref: tlmgr -xrm _xresource_186150 +Node: tlmgr MACHINE-READABLE OUTPUT186418 +Node: tlmgr Machine-readable update and install output187228 +Ref: tlmgr location-url _location_188504 +Ref: tlmgr total-bytes _count_188720 +Ref: tlmgr _pkgname_189130 +Ref: tlmgr _status_189340 +Ref: tlmgr d189418 +Ref: tlmgr f189478 +Ref: tlmgr u189657 +Ref: tlmgr r189703 +Ref: tlmgr a189826 +Ref: tlmgr i190004 +Ref: tlmgr I190123 +Ref: tlmgr _localrev_190225 +Ref: tlmgr _serverrev_190332 +Ref: tlmgr _size_190444 +Ref: tlmgr _runtime_190613 +Ref: tlmgr _esttot_190683 +Node: tlmgr Machine-readable option output190716 +Node: tlmgr AUTHORS AND COPYRIGHT191228 +Node: Index191627 End Tag Table diff --git a/source/doc/tlbuild.texi b/source/doc/tlbuild.texi index 010d0f6b1..3ea08d701 100644 --- a/source/doc/tlbuild.texi +++ b/source/doc/tlbuild.texi @@ -234,11 +234,11 @@ Automake/Autoconf output in general) work with any reasonable @cindex C++11, required A C++11 compiler is similarly required because of the third-party libraries ICU and Poppler; the program @code{dvisvgm} also requires -C++11. It is possible to build everything else with older compilers; -@url{https://tug.org/texlive/custom-bin.html} links to a build script -for doing this. +C++11. It is possible to build everything else with older compilers, +but you have to remove the C++11-dependent sources. @xref{Build one +package}. -However, a few programs in the tree have additional requirements: +A few programs in the tree have additional requirements: @table @file @item web2c @@ -248,7 +248,7 @@ requires @code{perl} for some tests run by @code{make check}. @item xdvik @itemx xpdfopen @cindex X11 development, required by X clients -require X11 headers and libraries, often in ``development'' packages +require X11 headers and libraries, typically in ``development'' packages that are not installed by default. @item xetex @@ -264,7 +264,7 @@ frameworks. @cindex @code{libsigsegv}, required by @code{xindy} requires GNU @code{clisp}, @code{libsigsegv}, and @code{libiconv}; additionally, to build the rules and/or documentation: @code{perl}, -@code{latex}, and @code{pdflatex} +@code{latex}, @code{pdflatex}. @end table @@ -440,17 +440,9 @@ However, the @file{Makefile}s still contain all build rules and dependencies and can be invoked to build an individual program or library, first building any required libraries. -This ``build-on-demand'' procedure is used, e.g., in the upstream -Lua@TeX{} repository to build Lua@TeX{}, from a subset of the complete -@TL{} source tree. As another example, when building the original -e-@TeX{} has been disabled (as it is by default), one can run -@code{make etex} (or @code{make etex.exe}) in @file{texk/web2c/} to -build e-@TeX{} (although there is no comparably simple way to -@emph{install} e-@TeX{}). - -If you want to work on a single program within the TL sources, this is -the recommended way to do it. Here is an example from start to -finish for working on @code{dvipdfm-x}. +Here is an example from start to finish for working on +@code{dvipdfm-x}. (Unfortunately, this does not suffice for building +one, or a subset, of the @TeX{} engines; see the next section.) @example mkdir mydir && cd mydir # new working directory @@ -492,7 +484,6 @@ tweak as desired; check the output from @code{configure --help}. It is also a good idea to run @code{make check} after making any changes, to ensure that whatever tests have been written still pass. - @cindex size of source tree Finally, the above retrieves the entire TL source tree (several hundred megabytes). It is natural to ask if this is really necessary. @@ -506,12 +497,23 @@ in the @code{pdftex} development source (details at @url{http://pdftex.org}), which is indeed such a cut-down TL source tree. +@cindex C++11, removing dependent sources +Some libraries and programs require C++11. If you want to build with +an older compiler lacking such support, you need to (re)move those +source directories; specifying @code{--disable} for them does not +suffice, unfortunately. Specifically, before running @code{configure}: + +@example +rm -rf libs/icu libs/poppler libs/graphite2 texk/dvisvgm +@end example + @vindex --enable-missing @r{to ignore dependencies} -Even with @code{--disable-all-pkgs}, dependencies will be checked. -For instance, if a (non-MacOSX) system does not have -@code{fontconfig}, Xe@TeX{} cannot be built (@pxref{Prerequisites}) -and @code{configure} will terminate. To proceed without such -dependencies, specify @code{--enable-missing} also. +Also, even with @code{--disable-all-pkgs}, dependencies are (currently) +checked. For instance, if a (non-MacOSX) system does not have +@code{fontconfig}, Xe@TeX{} cannot be built (@pxref{Prerequisites}), +and @code{configure} will terminate even with @code{--disable-xetex}. +To proceed without such dependencies, specify @code{--enable-missing} +also. (Patches to improve this would be most welcome.) @vindex CC=@var{c-compiler} @vindex CXX=@var{c++-compiler} @@ -546,8 +548,9 @@ make luatex # specify target This works because the @code{make} automatically runs @code{configure} as necessary for the dependencies and target. Furthermore, the source -tree can be cut down to just what is needed for the given engine (as -the separate pdf@TeX{} and Lua@TeX{} source repositories do). +tree can be cut down to just what is needed for the given engine +(the separate pdf@TeX{} and Lua@TeX{} source repositories do this, if +you want to peruse examples). We hope to improve the situation in the future. Patches are welcome. @@ -974,7 +977,6 @@ bugs). For this to be reflected by their timestamps in your checkout, be sure to set @file{use-commit-times=yes} in @file{~/.subversion/config} or the equivalent. - @cindex touching files to avoid rerunning @pindex make -t If timestamps are wrong, you may also be able to avoid unnecessary @@ -983,7 +985,7 @@ runs of @code{bison}, @code{flex}, or @code{makeinfo} with files. With @code{--enable-maintainer-mode} it may also be necessary to @code{touch} first @file{aclocal.m4}, then @file{configure} and @file{config.h.in} (or @file{c-auto.in}), and finally all -@file{Makefile.in} files. Perhaps @code{make -t} will help. +@file{Makefile.in} files. @node Top-level directories @@ -2031,7 +2033,7 @@ enabled. This is useful when one wants to work on only a single program, which is specified with an additional @code{--enable} option, e.g., @code{--enable-dvipdfm-x}. It's still simplest to check out and configure the whole source tree, but at least only the program you are -interested in, and its dependencies, are built. @xref{Build one package}. +interested in, and its dependencies, are built. @xref{Build one package}. Without this option, all modules are built except those that are explicitly disabled or specify @code{disable} in their diff --git a/source/libs/configure b/source/libs/configure index ceb780a61..f572ac5e2 100755 --- a/source/libs/configure +++ b/source/libs/configure @@ -3194,7 +3194,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 50341 2019-03-11 22:04:24Z karl $ +# $Id: web2c.ac 51577 2019-07-08 06:07:11Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/libs/harfbuzz/Makefile.am b/source/libs/harfbuzz/Makefile.am index 6b1383cc1..d3624b7f4 100644 --- a/source/libs/harfbuzz/Makefile.am +++ b/source/libs/harfbuzz/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am 51488 2019-06-27 08:20:17Z kakuto $ +## $Id: Makefile.am 51577 2019-07-08 06:07:11Z lscarso $ ## Proxy Makefile.am to build harfbuzz for TeX Live. ## ## Copyright 2016-2017 Karl Berry <tex-live@tug.org> diff --git a/source/texk/configure b/source/texk/configure index 19819a135..3259b1f6a 100755 --- a/source/texk/configure +++ b/source/texk/configure @@ -3194,7 +3194,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 50341 2019-03-11 22:04:24Z karl $ +# $Id: web2c.ac 51577 2019-07-08 06:07:11Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/texk/kpathsea/ChangeLog b/source/texk/kpathsea/ChangeLog index 19a7b67b6..62726b7af 100644 --- a/source/texk/kpathsea/ChangeLog +++ b/source/texk/kpathsea/ChangeLog @@ -1,3 +1,55 @@ +2019-08-09 Karl Berry <karl@freefriends.org> + + * texmf.cnf (log_openout): new configuration variable, true + by default for all but tex and initex, to remove one technical + trip incompatibility. Report from David Fuchs. + + * cnf.c, + * progname.h, + * tex-file.c, + * types.h: doc/formatting fixes. + +2019-08-06 Karl Berry <karl@freefriends.org> + + * kpsewhich.c (USAGE, read_command_line): new option --cnf-line. + (user_cnf_lines, user_cnf_nlines): new variables to store the args. + (init_more): call kpathsea_cnf_line_env_progname on each line. + + * cnf.h (kpathsea_cnf_line_env_progname): declare new fn. + * cnf.c (do_line): new argument ENV_PROGNAME, + to insert settings in the environment instead of the hash table. + (kpathsea_cnf_line_env_progname): entry point to call do_line + with env_progname=true. + (read_all_cnf): change do_line call to have env_progname=false. + Also, don't create cnf_hash here, instead ... + (kpathsea_cnf_get): ... here (if needed). + + * tests/cnfline.test: new test for --cnf-line. + * tests/cnfline/texmf.cnf: new directory/file for cnfline.test. + * Makefile.am (tests), + (tests/cnfline.log), + (EXTRA_DIST): add new test. + * doc/kpathsea.texi (Path sources, Path searching options): doc. + +2019-07-26 Karl Berry <karl@tug.org> + + * texmf.cnf (TEXINPUTS, etc.): include explicit latex, + element at end so that files under latex/ are preferred to those + under latex-dev/. From Ulrike Fischer. + + * texmf.cnf (TEXINPUTS.latex-dev, *-dev): new -dev format + names for LaTeX pre-release testing. + +2019-07-24 Akira Kakuto <kakuto@w32tex.org> + + * texmf.cnf: Define command_line_encoding = utf-8 for + Windows only. + +2019-07-11 Karl Berry <karl@tug.org> + + * texmf.cnf (TEXINPUTS.lua{,jit}hb{,la}tex): four new engines, + luahbtex with/without jit, with/without latex. Same path as non-hb. + 2019-06-02 Karl Berry <karl@tug.org> * texmf.cnf (TEXINPUTS.harf{,la}tex): new engine. @@ -1269,7 +1321,7 @@ 2012-03-04 Peter Breitenlohner <peb@mppmu.mpg.de> - Avoid 'the address of XXX will always evaluate as true' warnings. + Avoid 'the address of X will always evaluate as true' warnings. * lib.h (STREQ): Test '(s) != NULL' instead of '(s)'. Gcc >=4.3 produces identical code but -Wall yields no warning. diff --git a/source/texk/kpathsea/Makefile.am b/source/texk/kpathsea/Makefile.am index 18f37651c..467172b4e 100644 --- a/source/texk/kpathsea/Makefile.am +++ b/source/texk/kpathsea/Makefile.am @@ -1,7 +1,7 @@ -## $Id: Makefile.am 47973 2018-06-10 06:12:41Z takuji $ +## $Id: Makefile.am 51830 2019-08-06 23:33:17Z karl $ ## Makefile.am for the TeX Live subdirectory texk/kpathsea/ ## -## Copyright 2017 Karl Berry <tex-live@tug.org> +## Copyright 2017-2019 Karl Berry <tex-live@tug.org> ## Copyright 2009-2015 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. @@ -307,16 +307,17 @@ uninstall-hook: uninstall-bin-links AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR; # -TESTS = tests/cnfnewline.test tests/kpseaccess.test +TESTS = tests/cnfline.test tests/cnfnewline.test tests/kpseaccess.test TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test # -tests/cnfnewline.log tests/kpsewhich.log: kpsewhich$(EXEEXT) +tests/cnfline.log tests/cnfnewline.log tests/kpsewhich.log: kpsewhich$(EXEEXT) tests/kpseaccess.log: kpseaccess$(EXEEXT) tests/kpsereadlink.log: kpsereadlink$(EXEEXT) tests/kpsestat.log: kpsestat$(EXEEXT) # EXTRA_DIST += $(TESTS) EXTRA_DIST += tests/cnfnewline/texmf.cnf +EXTRA_DIST += tests/cnfline/texmf.cnf # Rebuild rebuild_prereq = diff --git a/source/texk/kpathsea/Makefile.in b/source/texk/kpathsea/Makefile.in index 8213ddb08..15bf7ee82 100644 --- a/source/texk/kpathsea/Makefile.in +++ b/source/texk/kpathsea/Makefile.in @@ -759,7 +759,7 @@ top_srcdir = @top_srcdir@ SUBDIRS = . doc man $(am__append_6) # EXTRA_DIST = PROJECTS putenv.c bsnl.awk cnf-to-paths.awk $(TESTS) \ - tests/cnfnewline/texmf.cnf mktex.cnf + tests/cnfnewline/texmf.cnf tests/cnfline/texmf.cnf mktex.cnf AM_CPPFLAGS = -I$(top_builddir)/.. -I$(top_srcdir)/.. AM_CFLAGS = $(WARNING_CFLAGS) lib_LTLIBRARIES = libkpathsea.la @@ -866,7 +866,7 @@ bin_links = mktexlsr:texhash AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \ LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR; # -TESTS = tests/cnfnewline.test tests/kpseaccess.test \ +TESTS = tests/cnfline.test tests/cnfnewline.test tests/kpseaccess.test \ tests/kpsereadlink.test tests/kpsestat.test \ tests/kpsewhich.test @@ -2533,7 +2533,7 @@ install-exec-hook: install-bin-links uninstall-hook: uninstall-bin-links # -tests/cnfnewline.log tests/kpsewhich.log: kpsewhich$(EXEEXT) +tests/cnfline.log tests/cnfnewline.log tests/kpsewhich.log: kpsewhich$(EXEEXT) tests/kpseaccess.log: kpseaccess$(EXEEXT) tests/kpsereadlink.log: kpsereadlink$(EXEEXT) tests/kpsestat.log: kpsestat$(EXEEXT) diff --git a/source/texk/kpathsea/cnf.c b/source/texk/kpathsea/cnf.c index 60a5df93e..def8f97c7 100644 --- a/source/texk/kpathsea/cnf.c +++ b/source/texk/kpathsea/cnf.c @@ -1,7 +1,7 @@ /* cnf.c: read config files. Copyright 1994, 1995, 1996, 1997, 2008, 2009, 2011, 2012, 2016, - 2017, 2018 Karl Berry. + 2017, 2018, 2019 Karl Berry. Copyright 1997-2005 Olaf Weber. This library is free software; you can redistribute it and/or @@ -42,17 +42,23 @@ #define CNF_NAME "texmf.cnf" -/* Do a single line in a cnf file: if it's blank or a comment or +/* Do a single line LINE in a cnf file: if it's blank or a comment or erroneous, skip it. Otherwise, parse <variable>[.<program>] [=] <value> - Do this even if the <variable> is already set in the environment, - since the envvalue might contain a trailing :, in which case we'll be - looking for the cnf value. + and insert it either into the cnf_hash structure in KPSE (if + ENV_PROGNAME is false), or in the environment (if ENV_PROGNAME is true). + + Furthermore, if ENV_PROGNAME is true, and there is no .<program> in + LINE, then also insert <variable> "_" `kpse->program_name' with <value> + into the environment; see kpathsea_cnf_line_env_progname in cnf.h. + + The name without _<progname> will usually never be looked up, but + just in case the program name changes, or whatever. We return NULL if ok, an error string otherwise. */ static string -do_line (kpathsea kpse, string line) +do_line (kpathsea kpse, string line, boolean env_progname) { unsigned len; string start; @@ -157,26 +163,58 @@ do_line (kpathsea kpse, string line) } } - /* We want TEXINPUTS.prog to override plain TEXINPUTS. The simplest - way is to put both in the hash table (so we don't have to write - hash_delete and hash_replace, and keep track of values' sources), - and then look up the .prog version first in `kpse_cnf_get'. */ - if (prog) { - string lhs = concat3 (var, ".", prog); - free (var); - free (prog); - var = lhs; + /* If we're supposed to make the setting in the environment ... */ + if (env_progname) { + string this_prog = prog ? prog : kpse->program_name; /* maybe with .prog */ + /* last-ditch debug */ + /* fprintf (stderr, "kpse/cnf.c xputenv(%s,%s)\n", var, value); */ + xputenv (var, value); + /* Use the .prog name on the input line if specified. Otherwise, + although kpse->program_name should always be set at this point, + check just in case. */ + if (this_prog) { + string var_prog = concat3 (var, "_", this_prog); + /* fprintf (stderr, "kpse/cnf.c xputenv(%s,%s) [implicit]\n", + var_prog, value); */ + xputenv (var_prog, value); + free (var_prog); /* xputenv allocates its own */ + } + free (var); /* again, xputenv allocated a copy */ + + } else { + /* Normal case of not ENV_PROGNAME, insert in cnf_hash, with .prog + if specified, which will override non-.prog. */ + string lhs = prog ? concat3 (var, ".", prog) : var; + /* last-ditch debug */ + /* fprintf (stderr, "kpse/cnf.c hash_insert(%s,%s)\n", lhs, value); */ + hash_insert (&(kpse->cnf_hash), lhs, value); + if (prog) { /* the lhs string is new memory if we had .prog */ + free (var); + /* If there was no .prog on the line, the original `var' memory gets + inserted into the hash table, so do not free. */ + } } - /* last-ditch debug */ - /* fprintf (stderr, "kpse/cnf.c hash_insert(%s,%s)\n", var, value); */ - hash_insert (&(kpse->cnf_hash), var, value); /* We should check that anything remaining is preceded by a comment character, but we don't. Sorry. */ return NULL; } + -/* Read all the configuration files in the path. */ +/* Just passing along env_progname = true to do_line. */ + +void +kpathsea_cnf_line_env_progname (kpathsea kpse, string line) +{ + string msg = do_line (kpse, line, /* env_progname = */ true); + if (msg) { + WARNING2 ("command line (kpathsea): %s in argument: %s", + msg, line); + } +} + + +/* Read all the kpathsea configuration files in the path. */ static void read_all_cnf (kpathsea kpse) @@ -185,8 +223,6 @@ read_all_cnf (kpathsea kpse) string *cnf; const_string cnf_path = kpathsea_init_format (kpse, kpse_cnf_format); - kpse->cnf_hash = hash_create (CNF_HASH_SIZE); - cnf_files = kpathsea_all_path_search (kpse, cnf_path, CNF_NAME); if (cnf_files && *cnf_files) { for (cnf = cnf_files; *cnf; cnf++) { @@ -223,7 +259,7 @@ read_all_cnf (kpathsea kpse) } } - msg = do_line (kpse, line); + msg = do_line (kpse, line, /* env_progname= */ false); if (msg) { WARNING4 ("%s:%d: (kpathsea) %s on line: %s", *cnf, lineno, msg, line); @@ -255,15 +291,15 @@ kpathsea_cnf_get (kpathsea kpse, const_string name) const_string ret, *ret_list; /* When we expand the compile-time value for DEFAULT_TEXMFCNF, - we end up needing the value for TETEXDIR and other variables, - so kpse_var_expand ends up calling us again. No good. Except this - code is not sufficient, somehow the ls-R path needs to be - computed when initializing the cnf path. Better to ensure that the - compile-time path does not contain variable references. */ + we end up needing the value for assorted variables, + so kpse_var_expand ends up calling us again. Just return. */ if (kpse->doing_cnf_init) return NULL; + /* If no cnf hash yet, initialize. */ if (kpse->cnf_hash.size == 0) { + kpse->cnf_hash = hash_create (CNF_HASH_SIZE); + /* Read configuration files and initialize databases. */ kpse->doing_cnf_init = true; read_all_cnf (kpse); @@ -300,7 +336,6 @@ kpathsea_cnf_get (kpathsea kpse, const_string name) const_string kpse_cnf_get (const_string name) { - return kpathsea_cnf_get(kpse_def, name); + return kpathsea_cnf_get(kpse_def, name); } #endif - diff --git a/source/texk/kpathsea/cnf.h b/source/texk/kpathsea/cnf.h index 44c966841..e218964b5 100644 --- a/source/texk/kpathsea/cnf.h +++ b/source/texk/kpathsea/cnf.h @@ -1,6 +1,6 @@ /* cnf.h: runtime config files. - Copyright 1994, 1995, 2008, 2012 Karl Berry. + Copyright 1994, 1995, 2008, 2012, 2019 Karl Berry. Copyright 1999, 2005 Olaf Weber. This library is free software; you can redistribute it and/or @@ -27,10 +27,30 @@ extern "C" { #endif /* Return the value in the last-read cnf file for VAR, or NULL if none. - On the first call, also read all the `texmf.cnf' files in the - path for kpse_cnf_format (and initialize the path). */ - -extern KPSEDLL const_string kpathsea_cnf_get (kpathsea kpse, const_string name); + On the first call, also read all the `texmf.cnf' files in the path + for kpse_cnf_format (and initialize the path). Any error messages are + written to stderr. */ + +extern KPSEDLL const_string kpathsea_cnf_get (kpathsea kpse, const_string var); + + +/* Parse L as a texmf.cnf configuration line for the KPSE instance, + and insert any <variable> assignment in the environment, both as-is and + with the value (if all non-NULL) of <variable> "_" KPSE->program_name. + If <variable>[_<progname>] is already set in the environment, it is + overwritten. + + All of this behavior is because if the user runs tex with + --cnf-line=TEXINPUTS=/foo:, it's not unreasonable to expect that + cmdline option to override both environment variables TEXINPUTS and + TEXINPUTS_tex, and also both configuration values TEXINPUTS and + TEXINPUTS.tex -- even though ordinarily <var>.<progname> overrides + plain <var>. + + Any error message is written to stderr. */ + +extern KPSEDLL void kpathsea_cnf_line_env_progname (kpathsea kpse, + string l); #if defined(KPSE_COMPAT_API) extern KPSEDLL const_string kpse_cnf_get (const_string var); diff --git a/source/texk/kpathsea/doc/kpathsea.info b/source/texk/kpathsea/doc/kpathsea.info index d5d49858a..19aca8075 100644 --- a/source/texk/kpathsea/doc/kpathsea.info +++ b/source/texk/kpathsea/doc/kpathsea.info @@ -37,7 +37,7 @@ Kpathsea library **************** This manual documents the Kpathsea library for path searching. It -corresponds to version 6.3.1, released in March 2019. +corresponds to version 6.3.2, released in August 2019. * Menu: @@ -61,8 +61,8 @@ File: kpathsea.info, Node: Introduction, Next: unixtex.ftp, Prev: Top, Up: T 1 Introduction ************** -This manual corresponds to version 6.3.1 of the Kpathsea library, -released in March 2019. +This manual corresponds to version 6.3.2 of the Kpathsea library, +released in August 2019. The library's fundamental purpose is to return a filename from a list of directories specified by the user, similar to what shells do when @@ -467,7 +467,10 @@ File: kpathsea.info, Node: Path sources, Next: Path expansion, Prev: Searchin A search path or other configuration value can come from many sources. In the order in which Kpathsea looks for them: - 1. A user-set environment variable, e.g., 'TEXINPUTS'. Environment + 1. A command-line option such as '--cnf-line', available in + 'kpsewhich' and most TeX engines. *Note Path searching options::. + + A user-set environment variable, e.g., 'TEXINPUTS'. Environment variables with an underscore and the program name appended override; for example, 'TEXINPUTS_latex' overrides 'TEXINPUTS' if the program being run is named 'latex'. @@ -1182,6 +1185,27 @@ filename, and returns the first file found. case-insensitive, it merely means that Kpathsea does not do any casefolding itself. +'--cnf-line=STR' + Parse STR as if it were a line in the 'texmf.cnf' configuration + file (*note Config files::), overriding settings in the actual + configuration files, and also in the environment (*note Path + sources::). This is implemented by making any settings from STR in + the environment, overwriting any value already there. Thus, an + extra colon in a '--cnf-line' value will refer to the value from a + configuration file, not a user-set environment variable. + + Furthermore, any variable set from STR will also be set with the + program name suffix. For example, 'pdftex + --cnf-line=TEXINPUTS=/foo:' will set both 'TEXINPUTS' and + 'TEXINPUTS_pdftex' in the environment (and the value will be '/foo' + followed by the setting from 'texmf.cnf', ignoring any user-set + 'TEXINPUTS'). + + This behavior is desirable because, in practice, many variables in + the distributed 'texmf.cnf' are program-specific, and the intuitive + behavior is for values set on the command line with '--cnf-line' to + override them. + '--dpi=NUM' Set the resolution to NUM; this only affects 'gf' and 'pk' lookups. '-D' is a synonym, for compatibility with Dvips. Default is 600. @@ -1499,8 +1523,8 @@ Kpsewhich provides some features in addition to path lookup as such: Unix-ish system) '.:/home/karl', supposing the latter is the current user's home directory. Note that the ';' in the source value, as commonly used in 'texmf.cnf', has changed to a ':', as - the normal path separator on the current system. (On a Windows-ish - system, the ';' would remain.) + the normal path separator on the current system. On a Windows-ish + system, the ';' would remain. '--var-value=VARIABLE' Outputs the value of VARIABLE (a simple identifier like @@ -1514,7 +1538,8 @@ Kpsewhich provides some features in addition to path lookup as such: default is not changed) '1'. Example to contrast with '--var-brace-value': 'FOO='.;~' kpsewhich - --var-value=FOO' outputs '.;~', i.e., the same as the input value. + --var-value=FOO' outputs '.;~', i.e., the same as the input value, + on all systems. File: kpathsea.info, Node: Standard options, Prev: Auxiliary tasks, Up: Invoking kpsewhich @@ -2988,40 +3013,43 @@ Index (line 12) * --casefold-search: Path searching options. (line 19) +* --cnf-line: Path searching options. + (line 28) +* --cnf-line, source for path: Path sources. (line 9) * --color=tty: ls-R. (line 25) * --debug=NUM: Auxiliary tasks. (line 9) * --dpi=NUM: Path searching options. - (line 28) + (line 49) * --engine=NAME: Path searching options. - (line 32) + (line 53) * --expand-braces=STRING: Auxiliary tasks. (line 12) * --expand-path=STRING: Auxiliary tasks. (line 16) * --expand-var=STRING: Auxiliary tasks. (line 34) * --format=NAME: Path searching options. - (line 48) + (line 69) * --help: Standard options. (line 8) * --help-formats: Auxiliary tasks. (line 42) * --interactive: Path searching options. - (line 130) + (line 151) * --mktex=FILETYPE: Path searching options. - (line 135) + (line 156) * --mode=STRING: Path searching options. - (line 141) + (line 162) * --must-exist: Path searching options. - (line 146) + (line 167) * --no-casefold-search: Path searching options. (line 19) * --no-mktex=FILETYPE: Path searching options. - (line 135) + (line 156) * --path=STRING: Path searching options. - (line 151) + (line 172) * --progname=NAME: Path searching options. - (line 159) + (line 180) * --safe-in-name=NAME: Auxiliary tasks. (line 48) * --safe-out-name=NAME: Auxiliary tasks. (line 48) * --show-path=NAME: Auxiliary tasks. (line 54) * --subdir=STRING: Path searching options. - (line 164) + (line 185) * --var-brace-value=VARIABLE: Auxiliary tasks. (line 60) * --var-value=VARIABLE: Auxiliary tasks. (line 74) * --version: Standard options. (line 11) @@ -3035,7 +3063,7 @@ Index * -1 debugging value: Debugging. (line 23) * -A option to ls: ls-R. (line 39) * -D NUM: Path searching options. - (line 28) + (line 49) * -iname, find predicate: Casefolding examples. (line 78) * -L option to ls: ls-R. (line 44) @@ -3236,7 +3264,7 @@ Index * comments, making: Introduction. (line 29) * common features in glyph lookup: Basic glyph lookup. (line 6) * common problems: Common problems. (line 6) -* compilation value, source for path: Path sources. (line 20) +* compilation value, source for path: Path sources. (line 23) * compiler bugs: TeX or Metafont failing. (line 6) * compiler bugs, finding: TeX or Metafont failing. @@ -3256,7 +3284,7 @@ Index (line 57) * config.status: Bug checklist. (line 27) * configuration bugs: Bug checklist. (line 27) -* configuration file, source for path: Path sources. (line 17) +* configuration file, source for path: Path sources. (line 20) * configuration files as shell scripts.: Config files. (line 79) * configuration of mktex scripts: mktex configuration. (line 6) * configure options for mktex scripts: mktex configuration. (line 12) @@ -3314,8 +3342,8 @@ Index * ENCFONTS: Supported file formats. (line 61) * engine name: Path searching options. - (line 32) -* environment variable, source for path: Path sources. (line 9) + (line 53) +* environment variable, source for path: Path sources. (line 12) * environment variables for TeX: Supported file formats. (line 6) * environment variables in paths: Variable expansion. (line 6) @@ -3422,14 +3450,14 @@ Index (line 84) * input lines, reading: Calling sequence. (line 110) * interactive query: Path searching options. - (line 130) + (line 151) * interface, not frozen: Introduction. (line 29) * introduction: Introduction. (line 6) * kdebug:: Debugging. (line 105) * kdefault.c: Default expansion. (line 48) * Knuth, Donald E.: History. (line 6) * Knuth, Donald E., archive of programs by: unixtex.ftp. (line 19) -* Kpathsea config file, source for path: Path sources. (line 17) +* Kpathsea config file, source for path: Path sources. (line 20) * kpathsea.h: Programming overview. (line 26) * kpathsea_cnf_get: Programming with config files. @@ -3645,7 +3673,7 @@ Index * reporting bugs: Reporting bugs. (line 6) * resident.c: Calling sequence. (line 47) * resolution, setting: Path searching options. - (line 28) + (line 49) * resolutions, last-resort: Fallback font. (line 6) * retrieving TeX: unixtex.ftp. (line 6) * right-hand side of variable assignments: Config files. (line 56) @@ -3780,7 +3808,7 @@ Index * texmf.cnf missing, warning about: Config files. (line 18) * texmf.cnf, and variable expansion: Variable expansion. (line 6) * texmf.cnf, definition for: Config files. (line 6) -* texmf.cnf, source for path: Path sources. (line 17) +* texmf.cnf, source for path: Path sources. (line 20) * TEXMFCNF: Config files. (line 6) * TEXMFCNF <1>: Supported file formats. (line 49) @@ -3892,61 +3920,61 @@ Index Tag Table: Node: Top1480 -Node: Introduction2260 -Node: History4330 -Node: unixtex.ftp8926 -Node: Security10351 -Node: TeX directory structure12855 -Node: Path searching16903 -Node: Searching overview17630 -Node: Path sources21449 -Node: Config files22540 -Node: Path expansion26467 -Node: Default expansion27420 -Node: Variable expansion29490 -Node: Tilde expansion30891 -Node: Brace expansion31871 -Node: KPSE_DOT expansion32810 -Node: Subdirectory expansion33323 -Node: Casefolding search35677 -Node: Casefolding rationale36446 -Node: Casefolding examples37785 -Node: Filename database42835 -Node: ls-R43893 -Node: Filename aliases47569 -Node: Database format48747 -Node: Invoking kpsewhich49760 -Node: Path searching options50715 -Node: Specially-recognized files59234 -Node: Auxiliary tasks60589 -Node: Standard options64295 -Node: TeX support64651 -Node: Supported file formats66005 -Node: File lookup73670 -Node: Glyph lookup75419 -Node: Basic glyph lookup76543 -Node: Fontmap77423 -Node: Fallback font79952 -Node: Suppressing warnings80864 -Node: mktex scripts81991 -Node: mktex configuration83206 -Node: mktex script names89009 -Node: mktex script arguments90395 -Node: Programming91274 -Node: Programming overview91847 -Node: Calling sequence94708 -Node: Program-specific files101240 -Node: Programming with config files102263 -Node: Reporting bugs103850 -Node: Bug checklist104528 -Node: Mailing lists108000 -Node: Debugging108675 -Node: Logging113752 -Node: Common problems115619 -Node: Unable to find files116096 -Node: Slow path searching118506 -Node: Unable to generate fonts119881 -Node: TeX or Metafont failing122352 -Node: Index123554 +Node: Introduction2261 +Node: History4332 +Node: unixtex.ftp8928 +Node: Security10353 +Node: TeX directory structure12857 +Node: Path searching16905 +Node: Searching overview17632 +Node: Path sources21451 +Node: Config files22677 +Node: Path expansion26604 +Node: Default expansion27557 +Node: Variable expansion29627 +Node: Tilde expansion31028 +Node: Brace expansion32008 +Node: KPSE_DOT expansion32947 +Node: Subdirectory expansion33460 +Node: Casefolding search35814 +Node: Casefolding rationale36583 +Node: Casefolding examples37922 +Node: Filename database42972 +Node: ls-R44030 +Node: Filename aliases47706 +Node: Database format48884 +Node: Invoking kpsewhich49897 +Node: Path searching options50852 +Node: Specially-recognized files60450 +Node: Auxiliary tasks61805 +Node: Standard options65530 +Node: TeX support65886 +Node: Supported file formats67240 +Node: File lookup74905 +Node: Glyph lookup76654 +Node: Basic glyph lookup77778 +Node: Fontmap78658 +Node: Fallback font81187 +Node: Suppressing warnings82099 +Node: mktex scripts83226 +Node: mktex configuration84441 +Node: mktex script names90244 +Node: mktex script arguments91630 +Node: Programming92509 +Node: Programming overview93082 +Node: Calling sequence95943 +Node: Program-specific files102475 +Node: Programming with config files103498 +Node: Reporting bugs105085 +Node: Bug checklist105763 +Node: Mailing lists109235 +Node: Debugging109910 +Node: Logging114987 +Node: Common problems116854 +Node: Unable to find files117331 +Node: Slow path searching119741 +Node: Unable to generate fonts121116 +Node: TeX or Metafont failing123587 +Node: Index124789 End Tag Table diff --git a/source/texk/kpathsea/doc/kpathsea.texi b/source/texk/kpathsea/doc/kpathsea.texi index cbaa10186..ff8fdbe87 100644 --- a/source/texk/kpathsea/doc/kpathsea.texi +++ b/source/texk/kpathsea/doc/kpathsea.texi @@ -2,8 +2,8 @@ @setfilename kpathsea.info @settitle Kpathsea: A library for path searching -@set version 6.3.1 -@set month-year March 2019 +@set version 6.3.2 +@set month-year August 2019 @copying This file documents the Kpathsea library for path searching. @@ -570,6 +570,11 @@ In the order in which Kpathsea looks for them: @enumerate @item +@opindex @samp{--cnf-line}, source for path +A command-line option such as @code{--cnf-line}, available in +@file{kpsewhich} and most @TeX{} engines. @xref{Path searching +options}. + @cindex environment variable, source for path A user-set environment variable, e.g., @code{TEXINPUTS}. Environment variables with an underscore and the program name appended @@ -1473,6 +1478,28 @@ become case-sensitive when the underlying (file)system is case-insensitive, it merely means that Kpathsea does not do any casefolding itself. +@item --cnf-line=@var{str} +@opindex --cnf-line +Parse @var{str} as if it were a line in the @file{texmf.cnf} +configuration file (@pxref{Config files}), overriding settings in the +actual configuration files, and also in the environment (@pxref{Path +sources}). This is implemented by making any settings from @var{str} +in the environment, overwriting any value already there. Thus, an +extra colon in a @samp{--cnf-line} value will refer to the value from +a configuration file, not a user-set environment variable. + +Furthermore, any variable set from @var{str} will also be set with the +program name suffix. For example, @code{pdftex +--cnf-line=TEXINPUTS=/foo:} will set both @code{TEXINPUTS} and +@code{TEXINPUTS_pdftex} in the environment (and the value will be +@file{/foo} followed by the setting from @file{texmf.cnf}, ignoring +any user-set @code{TEXINPUTS}). + +This behavior is desirable because, in practice, many variables in the +distributed @file{texmf.cnf} are program-specific, and the intuitive +behavior is for values set on the command line with @code{--cnf-line} +to override them. + @item --dpi=@var{num} @opindex --dpi=@var{num} @opindex -D @var{num} @@ -1857,8 +1884,8 @@ Example: @samp{FOO='.;~' kpsewhich --var-brace-value=FOO} outputs (on a Unix-ish system) @samp{.:/home/karl}, supposing the latter is the current user's home directory. Note that the @samp{;} in the source value, as commonly used in @file{texmf.cnf}, has changed to a -@samp{:}, as the normal path separator on the current system. (On a -Windows-ish system, the @samp{;} would remain.) +@samp{:}, as the normal path separator on the current system. On a +Windows-ish system, the @samp{;} would remain. @item --var-value=@var{variable} @opindex --var-value=@var{variable} @@ -1874,7 +1901,7 @@ default is not changed) @samp{1}. Example to contrast with @samp{--var-brace-value}: @samp{FOO='.;~' kpsewhich --var-value=FOO} outputs @samp{.;~}, i.e., the same as the -input value. +input value, on all systems. @end table diff --git a/source/texk/kpathsea/kpsewhich.c b/source/texk/kpathsea/kpsewhich.c index 1be21f398..119ebb5a9 100644 --- a/source/texk/kpathsea/kpsewhich.c +++ b/source/texk/kpathsea/kpsewhich.c @@ -19,6 +19,7 @@ #include <kpathsea/config.h> #include <kpathsea/c-ctype.h> #include <kpathsea/c-pathch.h> +#include <kpathsea/cnf.h> #include <kpathsea/expand.h> #include <kpathsea/getopt.h> #include <kpathsea/line.h> @@ -39,10 +40,14 @@ string path_to_show = NULL; string var_to_value = NULL; string var_to_brace_value = NULL; +/* Array/count of cnf lines from the command line. (--cnf-line) */ +static string *user_cnf_lines = NULL; +static unsigned user_cnf_nlines = 0; + /* Base resolution. (-D, -dpi) */ unsigned dpi = 600; -/* The engine name, for '$engine' construct in texmf.cnf. (-engine) */ +/* The engine name, for `$engine' construct in texmf.cnf. (-engine) */ string engine = NULL; /* Interactively ask for names to look up? (-interactive) */ @@ -474,6 +479,7 @@ to also use -engine, or nothing will be returned; in particular,\n\ \n\ -all output all matches, one per line (no effect with pk/gf).\n\ [-no]-casefold-search fall back to case-insensitive search if no exact match.\n\ +-cnf-line=STRING parse STRING as a configuration file line.\n\ -debug=NUM set debugging flags.\n\ -D, -dpi=NUM use a base resolution of NUM; default 600.\n\ -engine=STRING set engine name to STRING.\n\ @@ -588,6 +594,7 @@ static struct option long_options[] = { { "D", 1, 0, 0 }, { "all", 0, (int *) &show_all, 1 }, { "casefold-search", 0, 0, 0 }, + { "cnf-line", 1, 0, 0 }, { "debug", 1, 0, 0 }, { "dpi", 1, 0, 0 }, { "engine", 1, 0, 0 }, @@ -637,6 +644,17 @@ read_command_line (kpathsea kpse, int argc, string *argv) (by default). */ xputenv ("texmf_casefold_search", "1"); + } else if (ARGUMENT_IS ("cnf-line")) { + if (user_cnf_lines == NULL) { + user_cnf_nlines = 1; + user_cnf_lines = xmalloc (sizeof (const_string)); + } else { + user_cnf_nlines++; + user_cnf_lines = xrealloc (user_cnf_lines, + user_cnf_nlines * sizeof (const_string)); + } + user_cnf_lines[user_cnf_nlines-1] = xstrdup (optarg); + } else if (ARGUMENT_IS ("debug")) { kpse->debug |= atoi (optarg); @@ -742,6 +760,15 @@ init_more (kpathsea kpse) if (engine) kpathsea_xputenv (kpse, "engine", engine); + /* We want config lines from the command line to override config files. */ + if (user_cnf_lines) { + unsigned i; + for (i = 0; i < user_cnf_nlines; i++) { + kpathsea_cnf_line_env_progname (kpse, user_cnf_lines[i]); + free (user_cnf_lines[i]); + } + } + /* Disable all mktex programs unless they were explicitly enabled on our command line. */ #define DISABLE_MKTEX(fmt) \ diff --git a/source/texk/kpathsea/progname.h b/source/texk/kpathsea/progname.h index 596424b46..b5c1c43af 100644 --- a/source/texk/kpathsea/progname.h +++ b/source/texk/kpathsea/progname.h @@ -1,6 +1,6 @@ /* progname.h: Declarations for argv[0] equivalents. - Copyright 1994, 1996, 2008, 2010-2013 Karl Berry. + Copyright 1994, 1996, 2008, 2010-2019 Karl Berry. Copyright 1999, 2005 Olaf Weber. This library is free software; you can redistribute it and/or @@ -33,20 +33,20 @@ extern "C" { extern KPSEDLL string kpathsea_selfdir (kpathsea kpse, const_string argv0); #endif -/* Set the first two variables above (if they're not predefined) to a copy - of ARGV0 and everything in ARGV0 after the last directory separator, - respectively. Set kpse_program_name to a copy of PROGNAME or the - value of kpse_invocation_short_name if PROGNAME is NULL. - This function also determines the AUTO* variables. */ +/* Set the two members `invocation_name' and `invocation_short_name' + in the KPSE instance to a copy of ARGV0 and everything in ARGV0 after + the last directory separator, respectively. Set `program_name' (also in + the KPSE instance) to a copy of PROGNAME or the value of + kpse_invocation_short_name if PROGNAME is NULL. This function also + sets the SELFAUTO* environment variables. */ extern KPSEDLL void kpathsea_set_program_name (kpathsea kpse, const_string argv0, const_string progname); -/* See also `kpathsea_reset_program_name' which is defined in tex-file.c - +/* See also `kpathsea_reset_program_name', which is defined in tex-file.c. That function is to be used to set kpse->program_name to a different value. It clears the path searching information, to ensure that - the search paths are appropriate to the new name. */ + the search paths are appropriate to the new name. */ #if defined (KPSE_COMPAT_API) diff --git a/source/texk/kpathsea/tex-file.c b/source/texk/kpathsea/tex-file.c index 626e240b8..335f13b45 100644 --- a/source/texk/kpathsea/tex-file.c +++ b/source/texk/kpathsea/tex-file.c @@ -1,7 +1,7 @@ /* tex-file.c: high-level file searching by format. Copyright 1993, 1994, 1995, 1996, 1997, 2007, 2008, 2009, 2010, 2011 - 2012, 2014, 2016, 2017 Karl Berry. + 2012, 2014, 2016, 2017, 2019 Karl Berry. Copyright 1998-2005 Olaf Weber. This library is free software; you can redistribute it and/or @@ -1429,7 +1429,7 @@ kpse_open_file (const_string name, kpse_file_format_type type) the paths for kpse_cnf_format and kpse_db_format are not cleared. This function is defined here, and not in progname.c, because it - need format_info, and would cause all of tex-file to be pulled + needs format_info, and would cause all of tex-file to be pulled in by programs that do not need it. */ void @@ -1445,14 +1445,14 @@ kpathsea_reset_program_name (kpathsea kpse, const_string progname) free (kpse->program_name); kpse->program_name = xstrdup (progname); - kpathsea_xputenv(kpse, "progname", kpse->program_name); + kpathsea_xputenv (kpse, "progname", kpse->program_name); - /* Clear paths -- do we want the db path to be cleared? */ + /* Go through all paths ... */ for (i = 0; i != kpse_last_format; ++i) { - /* Do not erase the cnf of db paths. This means that the filename + /* Do not erase the cnf or db paths. This means that the filename database is not rebuilt, nor are different configuration files searched. The alternative is to tolerate a memory leak of up - to 100k if this function is called. */ + to 100k if this function is called. */ if (i == kpse_cnf_format || i == kpse_db_format) continue; /* Wipe the path (it is tested) and the cnf_path because their @@ -1461,14 +1461,13 @@ kpathsea_reset_program_name (kpathsea kpse, const_string progname) free (kpse->format_info[i].path); kpse->format_info[i].path = NULL; } - /* We cannot free the cnf_path: it points into the cnf hash, which - means all hell will break loose if we did. */ + /* We cannot free cnf_path: it points into the cnf hash. */ if (kpse->format_info[i].cnf_path != NULL) { kpse->format_info[i].cnf_path = NULL; } /* We do not wipe the override_path at this point, though arguably we should provide new values. It is not likely to matter for - the programs that call this function. */ + the programs that call this function. */ } } diff --git a/source/texk/kpathsea/texmf.cnf b/source/texk/kpathsea/texmf.cnf index 411a68246..76f92254e 100644 --- a/source/texk/kpathsea/texmf.cnf +++ b/source/texk/kpathsea/texmf.cnf @@ -168,94 +168,111 @@ TEXMFDOTDIR = . % formats, past or present. Not all of them are built these days. % Plain TeX. Have the command tex check all directories as a last -% resort, we may have plain-compatible stuff anywhere. -TEXINPUTS.tex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// +% resort, we may have plain-compatible stuff anywhere. Prefer +% latex/ to latex-dev/, implying that we have to add a latex, element to +% every TEXINPUTS tree that recursively searches $TEXMF/tex//, which is +% all of them except ConTeXt. +TEXINPUTS.tex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// % Fontinst needs to read afm files. TEXINPUTS.fontinst = $TEXMFDOTDIR;$TEXMF/{tex,fonts/afm}// % Other plain-based formats. -TEXINPUTS.amstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,}// -TEXINPUTS.csplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,}// -TEXINPUTS.eplain = $TEXMFDOTDIR;$TEXMF/tex/{eplain,plain,generic,}// -TEXINPUTS.ftex = $TEXMFDOTDIR;$TEXMF/tex/{formate,plain,generic,}// -TEXINPUTS.mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,}// -TEXINPUTS.texinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,}// - -% LaTeX 2e specific macros are stored in latex/, macros that can only be +TEXINPUTS.amstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,latex,}// +TEXINPUTS.csplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,latex,}// +TEXINPUTS.eplain = $TEXMFDOTDIR;$TEXMF/tex/{eplain,plain,generic,latex,}// +TEXINPUTS.ftex = $TEXMFDOTDIR;$TEXMF/tex/{formate,plain,generic,latex,}// +TEXINPUTS.mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}// +TEXINPUTS.texinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,latex,}// + +% LaTeX2e specific macros are stored in latex/, macros that can only be % used with 2.09 in latex209/. In addition, we look in the directory % latex209, useful for macros that were written for 2.09 and do not -% mention 2e at all, but can be used with 2e. +% mention 2e at all, but can be used with 2e. The latex-dev/ subtree +% may contain release candidates for testing. TEXINPUTS.cslatex = $TEXMFDOTDIR;$TEXMF/tex/{cslatex,csplain,latex,generic,}// TEXINPUTS.latex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}// +TEXINPUTS.latex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,latex,generic,}// TEXINPUTS.latex209 = $TEXMFDOTDIR;$TEXMF/tex/{latex209,generic,latex,}// TEXINPUTS.olatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}// % MLTeX. TEXINPUTS.frlatex = $TEXMFDOTDIR;$TEXMF/tex/{french,latex,generic,}// -TEXINPUTS.frtex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,}// +TEXINPUTS.frtex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,latex,}// TEXINPUTS.mllatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}// -TEXINPUTS.mltex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.mltex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// % e-TeX. TEXINPUTS.elatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}// -TEXINPUTS.etex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.etex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// % pdfTeX. TEXINPUTS.pdfcslatex = $TEXMFDOTDIR;$TEXMF/tex/{cslatex,csplain,latex,generic,}// -TEXINPUTS.pdfcsplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,}// +TEXINPUTS.pdfcsplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,latex,}// TEXINPUTS.pdflatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}// -TEXINPUTS.pdfmex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,}// -TEXINPUTS.utf8mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,}// -TEXINPUTS.pdftex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// -TEXINPUTS.pdftexinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,}// -TEXINPUTS.pdfamstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,}// +TEXINPUTS.pdflatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,latex,generic,}// +TEXINPUTS.pdfmex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}// +TEXINPUTS.utf8mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}// +TEXINPUTS.pdftex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// +TEXINPUTS.pdftexinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,latex,}// +TEXINPUTS.pdfamstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,latex,}// % pdfeTeX. TEXINPUTS.pdfelatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}// -TEXINPUTS.pdfetex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.pdfetex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// % LuaTeX. -TEXINPUTS.luatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,}// -TEXINPUTS.luajittex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,}// -TEXINPUTS.dviluatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,}// -TEXINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// -TEXINPUTS.luajitlatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// -TEXINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.luatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}// +TEXINPUTS.luajittex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}// +TEXINPUTS.luahbtex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}// +TEXINPUTS.luajithbtex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}// +TEXINPUTS.dviluatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}// +TEXINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.lualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}// +TEXINPUTS.luajitlatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.luahblatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.luahblatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}// +TEXINPUTS.luajithblatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}// % HarfTeX. -TEXINPUTS.harftex = $TEXMFDOTDIR;$TEXMF/tex/{harftex,luatex,plain,generic,}// +TEXINPUTS.harftex = $TEXMFDOTDIR;$TEXMF/tex/{harftex,luatex,plain,generic,latex,}// TEXINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/tex/{harflatex,harftex,lualatex,latex,luatex,generic,}// +TEXINPUTS.harflatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,harflatex,harftex,lualatex,latex,luatex,generic,}// % XeTeX. TEXINPUTS.xelatex = $TEXMFDOTDIR;$TEXMF/tex/{xelatex,latex,xetex,generic,}// -TEXINPUTS.xeplain = $TEXMFDOTDIR;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}// -TEXINPUTS.xetex = $TEXMFDOTDIR;$TEXMF/tex/{xetex,plain,generic,}// +TEXINPUTS.xelatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,xelatex,latex,xetex,generic,}// +TEXINPUTS.xeplain = $TEXMFDOTDIR;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,latex,}// +TEXINPUTS.xetex = $TEXMFDOTDIR;$TEXMF/tex/{xetex,plain,generic,latex,}// % Omega / Aleph. -TEXINPUTS.aleph = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.aleph = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// TEXINPUTS.elambda = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}// -TEXINPUTS.eomega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.eomega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// TEXINPUTS.lambda = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}// TEXINPUTS.lamed = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}// -TEXINPUTS.omega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.omega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}// % p(La)TeX. -TEXINPUTS.ptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,}// +TEXINPUTS.ptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,latex,}// TEXINPUTS.platex = $TEXMFDOTDIR;$TEXMF/tex/{platex,latex,generic,}// +TEXINPUTS.platex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,platex,latex,generic,}// -% epTeX, and for pmpost. -TEXINPUTS.eptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,}// +% epTeX, and use that engine for pmpost. +TEXINPUTS.eptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,latex,}// TEX.pmpost = eptex % p(La)TeX-ng -TEXINPUTS.ptex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,}// +TEXINPUTS.ptex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}// TEXINPUTS.platex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}// % (e)up(La)TeX, and for upmpost -TEXINPUTS.uplatex = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}// -TEXINPUTS.uptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,}// -TEXINPUTS.euptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,}// +TEXINPUTS.uplatex = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}// +TEXINPUTS.uplatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,uplatex,platex,latex,generic,}// +TEXINPUTS.uptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}// +TEXINPUTS.euptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}// TEX.upmpost = euptex % pBibTeX bibliographies and style files. @@ -270,21 +287,21 @@ BSTINPUTS.upbibtex = $TEXMFDOTDIR;$TEXMF/{upbibtex,pbibtex,bibtex}/bst// TEXINPUTS.context = $TEXMFDOTDIR;$TEXMF/tex/{context,plain,generic,}// % jadetex. -TEXINPUTS.jadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,}// -TEXINPUTS.pdfjadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,}// +TEXINPUTS.jadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,latex,}// +TEXINPUTS.pdfjadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,latex,}// % XMLTeX. TEXINPUTS.xmltex = $TEXMFDOTDIR;$TEXMF/tex/{xmltex,latex,generic,}// TEXINPUTS.pdfxmltex = $TEXMFDOTDIR;$TEXMF/tex/{xmltex,latex,generic,}// % Miscellany, no longer built. -TEXINPUTS.lamstex = $TEXMFDOTDIR;$TEXMF/tex/{lamstex,plain,generic,}// -TEXINPUTS.lollipop = $TEXMFDOTDIR;$TEXMF/tex/{lollipop,plain,generic,}// +TEXINPUTS.lamstex = $TEXMFDOTDIR;$TEXMF/tex/{lamstex,plain,generic,latex,}// +TEXINPUTS.lollipop = $TEXMFDOTDIR;$TEXMF/tex/{lollipop,plain,generic,latex,}// TEXINPUTS.frpdflatex = $TEXMFDOTDIR;$TEXMF/tex/{french,latex,generic,}// -TEXINPUTS.frpdftex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,}// +TEXINPUTS.frpdftex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,latex,}// % Earlier entries override later ones, so put this generic one last. -TEXINPUTS = $TEXMFDOTDIR;$TEXMF/tex/{$progname,generic,}// +TEXINPUTS = $TEXMFDOTDIR;$TEXMF/tex/{$progname,generic,latex,}// % ttf2tfm. TTF2TFMINPUTS = $TEXMFDOTDIR;$TEXMF/ttf2pk// @@ -474,14 +491,23 @@ DVIPDFMXINPUTS = $TEXMF/dvipdfmx % But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in % the environment with a colon, say, TEXINPUTS=/some/dir:, the intended % default expansion of TEXINPUTS will not happen and .lua files under -% the /tex/ will not be found. +% the /tex/ tree will not be found. % % So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex. % The default LUAINPUTS suffices for luatex and dviluatex. % -LUAINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// -LUAINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// -LUAINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}// +LUAINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +LUAINPUTS.lualatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}// +TEXINPUTS.luahblatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.luahblatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}// +LUAINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +LUAINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}// +% +LUAINPUTS.harftex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{harftex,luatex,plain,generic,latex,}// +LUAINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{harflatex,harftex,lualatex,latex,luatex,generic,}// +LUAINPUTS.harflatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,harflatex,harftex,lualatex,latex,luatex,generic,}// +% +LUAINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,latex,}// % Lua needs to look for binary lua libraries distributed with packages. CLUAINPUTS = $TEXMFDOTDIR;$SELFAUTOLOC/lib/{$progname,$engine,}/lua// @@ -669,6 +695,12 @@ parse_first_line = t parse_first_line.tex = f parse_first_line.initex = f +% Normally we mention files created by \openout in the log file, +% but again, trip-compatibility forbids this for (ini)tex. +log_openout = t +log_openout.tex = f +log_openout.initex = f + % Control file:line:error style messages. file_line_error_style = f @@ -841,3 +873,23 @@ max_cols.gftype = 8191 % Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends? % Default is 1, to guess. Used on Windows only. guess_input_kanji_encoding = 1 + +% command_line_encoding +% +% This variable is used on Windows only, and affects 4 TeX engines: +% uptex, euptex, pdftex, xetex, and 2 drivers: dvips, [x]dvipdfmx. +% Several applications also are affected by the variable: +% dvi2tty.exe, disdvi.exe, dvibook.exe, dviconcat.exe, dviselect.exe, +% dvitodvi.exe, and dvidvi.exe. +% Only values utf8 or utf-8 are meaningful. Other values are simply +% ignored. If file names in sources and DVI or XDV files are ASCII +% only, the value of command_line_encoding is irrelevant. +% If command_line_encoding = utf8 or command_line_encoding = utf-8, +% file names in sources and DVI or XDV files are assumed to be UTF-8. +% Default is utf-8, from 2019-07-24, to assume UTF-8 file names. +% In order to switch off the function, define an environment variable: +% set command_line_encoding=none +% or write a line: +% command_line_encoding = none +% in a texmf.cnf prefered, for example $TEXMFLOCAL/web2c/texmf.cnf. +command_line_encoding = utf-8 diff --git a/source/texk/kpathsea/types.h b/source/texk/kpathsea/types.h index b2c15a1fd..f62906dec 100644 --- a/source/texk/kpathsea/types.h +++ b/source/texk/kpathsea/types.h @@ -1,6 +1,6 @@ /* types.h: general types for kpathsea. - Copyright 1993, 1995, 1996, 2005, 2008-2014, 2016 Karl Berry. + Copyright 1993, 1995, 1996, 2005, 2008-2014, 2016, 2019 Karl Berry. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,7 +21,10 @@ /* Our string, boolean, etc. */ #include <kpathsea/simpletypes.h> -/* Required until all programs use the new API, if ever. */ +/* Required forever for any normal build, since we will never want to + remove the original interface. But to check that a program + only uses the new-style declarations, that is, is thread-safe, + could be useful to undefine. */ #define KPSE_COMPAT_API 1 #include <stdio.h> /* for FILE* */ diff --git a/source/texk/texlive/tl_scripts/fmtutil.cnf b/source/texk/texlive/tl_scripts/fmtutil.cnf index bc5db8a5d..45ff85d6a 100644 --- a/source/texk/texlive/tl_scripts/fmtutil.cnf +++ b/source/texk/texlive/tl_scripts/fmtutil.cnf @@ -1,4 +1,4 @@ -# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Sat Mar 23 02:25:32 2019 +# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Sat Jul 27 01:53:50 2019 # Originally written by Thomas Esser, 1998. Public domain. # # As of TeX Live 2015, fmtutil reads *all* fmtutil.cnf files found. @@ -76,6 +76,12 @@ dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini lualatex luatex language.dat,language.dat.lua lualatex.ini #! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini # +# from latex-bin-dev: +latex-dev pdftex language.dat -translate-file=cp227.tcx *latex.ini +pdflatex-dev pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini +dvilualatex-dev luatex language.dat,language.dat.lua dvilualatex.ini +lualatex-dev luatex language.dat,language.dat.lua lualatex.ini +# # from lollipop: lollipop tex - lollipop.ini # @@ -109,6 +115,7 @@ pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini # # from platex: platex eptex language.dat *platex.ini +platex-dev eptex language.dat *platex.ini # # from ptex: ptex ptex - ptex.ini @@ -122,6 +129,7 @@ texsis pdftex - -translate-file=cp227.tcx texsis.ini # # from uplatex: uplatex euptex language.dat *uplatex.ini +uplatex-dev euptex language.dat *uplatex.ini # # from uptex: uptex uptex - uptex.ini @@ -130,6 +138,7 @@ euptex euptex language.def *euptex.ini # from xetex: xetex xetex language.def -etex xetex.ini xelatex xetex language.dat -etex xelatex.ini +xelatex-dev xetex language.dat -etex xelatex.ini # # from xmltex: xmltex pdftex language.dat *xmltex.ini diff --git a/source/texk/web2c/ChangeLog b/source/texk/web2c/ChangeLog index 647845d18..09a97d0c3 100644 --- a/source/texk/web2c/ChangeLog +++ b/source/texk/web2c/ChangeLog @@ -1,3 +1,33 @@ +2019-08-09 Karl Berry <karl@freefriends.org> + + * tex.ch (53.1374): only log \openout files if the log_openout + config value is true. Report from David Fuchs. + * cpascal.h (texmfyes): #define texmf_yesno, for web visibility. + * triptest.test: no need to remove \openout lines since they are + no longer written. + * triptrap/trip.diffs: update. + +2019-08-06 Karl Berry <karl@freefriends.org> + + * texmfmp-help.h (ALEPHHELP, EPTEXHELP, ETEXHELP, EUPTEXHELP, + MFHELP, PDFTEXHELP, PTEXHELP, TEXHELP, UPTEXHELP, XETEXHELP): + add -cnf-line. (I.e., everything but the lua-based engines, + as they do not share the common source.) + +2019-08-04 Karl Berry <karl@freefriends.org> + + * doc/web2c.texi (Shell escapes): default value no longer as stated. + +2019-07-19 Karl Berry <karl@tug.org> + + * patgen.ch: mention adding swap/zram to deal with larger tries. + +2019-07-10 Karl Berry <karl@freefriends.org> + + * patgen.ch (trie_size), + (triec_size): reduce again to 76,000,000 and 38,000,000, + per Johannes Hielscher, 10 Jul 2019 00:00:03. + 2019-06-26 Karl Berry <karl@freefriends.org> * configure.ac (KPSE_ICU_FLAGS, KPSE_GRAPHITE2_FLAGS) [xetex], diff --git a/source/texk/web2c/Makefile.am b/source/texk/web2c/Makefile.am index ce6ba6ffc..70864c6b8 100644 --- a/source/texk/web2c/Makefile.am +++ b/source/texk/web2c/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am 48591 2018-09-05 21:30:41Z lscarso $ +## $Id: Makefile.am 51577 2019-07-08 06:07:11Z lscarso $ ## Makefile.am for the TeX Live subdirectory texk/web2c/. ## ## Copyright 2017 Karl Berry <tex-live@tug.org> diff --git a/source/texk/web2c/Makefile.in b/source/texk/web2c/Makefile.in index dec9a1b70..7ceadbb89 100644 --- a/source/texk/web2c/Makefile.in +++ b/source/texk/web2c/Makefile.in @@ -3086,12 +3086,13 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \ $(pdftex_tests) tests/wprob.tex pdftexdir/tests/pdfimage.tex \ tests/1-4.jpg tests/B.pdf tests/basic.tex \ tests/lily-ledger-broken.png tests/expanded.tex \ - $(ttf2afm_tests) pdftexdir/tests/postV3.afm \ - pdftexdir/tests/postV3.ttf pdftexdir/tests/postV7.afm \ - pdftexdir/tests/postV7.ttf $(pdftosrc_tests) \ - pdftexdir/tests/test-13.pdf pdftexdir/tests/test-13.xref \ - pdftexdir/tests/test-15.pdf pdftexdir/tests/test-15.xref \ - $(libluasocket_sources) luatexdir/luasocket/src/ftp_lua.c \ + tests/expanded.txt tests/cnfline.tex $(ttf2afm_tests) \ + pdftexdir/tests/postV3.afm pdftexdir/tests/postV3.ttf \ + pdftexdir/tests/postV7.afm pdftexdir/tests/postV7.ttf \ + $(pdftosrc_tests) pdftexdir/tests/test-13.pdf \ + pdftexdir/tests/test-13.xref pdftexdir/tests/test-15.pdf \ + pdftexdir/tests/test-15.xref $(libluasocket_sources) \ + luatexdir/luasocket/src/ftp_lua.c \ luatexdir/luasocket/src/headers_lua.c \ luatexdir/luasocket/src/http_lua.c \ luatexdir/luasocket/src/ltn12_lua.c \ @@ -3402,10 +3403,10 @@ DISTCLEANFILES = CXXLD.sh tangle.c tangle.h tangle.p tangle-web2c \ pdfprimitive-euptex.* $(nodist_pdftex_SOURCES) pdftex.ch \ pdftex-web2c pdftex.p pdftex.pool pdftex-tangle pwprob.log \ pwprob.tex pdfimage.fmt pdfimage.log pdfimage.pdf expanded.log \ - postV3.afm postV7.afm test-13.pdf test-13.xref test-15.pdf \ - test-15.xref $(nodist_libluatex_sources) luaimage.* \ - luajitimage.* $(nodist_xetex_SOURCES) xetex.web xetex.ch \ - xetex-web2c xetex.p xetex.pool xetex-tangle bug73.fmt \ + cnfline.log postV3.afm postV7.afm test-13.pdf test-13.xref \ + test-15.pdf test-15.xref $(nodist_libluatex_sources) \ + luaimage.* luajitimage.* $(nodist_xetex_SOURCES) xetex.web \ + xetex.ch xetex-web2c xetex.p xetex.pool xetex-tangle bug73.fmt \ bug73.log bug73.out bug73.tex filedump.log filedump.out \ filedump.tex $(omegaware_programs:=.c) \ $(omegaware_programs:=.h) $(omegaware_programs:=.p) \ @@ -4067,7 +4068,8 @@ pdftex_ch_srcs = \ # pdfTeX tests # pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \ - pdftexdir/pdfimage.test pdftexdir/expanded.test + pdftexdir/pdfimage.test pdftexdir/expanded.test \ + pdftexdir/tests/cnfline.test ttf2afm_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/pdftexdir ttf2afm_SOURCES = pdftexdir/ttf2afm.c @@ -19655,7 +19657,8 @@ pdftex.tex: $(srcdir)/pdftexdir/pdftex.web weave $(srcdir)/pdftexdir/pdftex.web pdftexdir/wprob.log pdftexdir/pdftex.log \ - pdftexdir/pdfimage.log pdftexdir/expanded.log: pdftex$(EXEEXT) + pdftexdir/pdfimage.log pdftexdir/expanded.log \ + pdftexdir/cnfline.log: pdftex$(EXEEXT) pdftexdir/ttf2afm.log: ttf2afm$(EXEEXT) $(pdftosrc_OBJECTS): $(ZLIB_DEPEND) $(LIBPNG_DEPEND) $(XPDF_DEPEND) diff --git a/source/texk/web2c/NEWS b/source/texk/web2c/NEWS index a270ea4de..1c6943fa9 100644 --- a/source/texk/web2c/NEWS +++ b/source/texk/web2c/NEWS @@ -1,5 +1,9 @@ This file records noteworthy changes. (Public domain.) + +* New cross-engine option -cnf-line=STR. + +2019 (for TeX Live 2019, 7 April 2019) BibTeX: subsidiary .aux files are looked for in the directory of the main .aux file, if not found as-is (to work better with -output-directory). @@ -8,7 +12,6 @@ CWEB: now comes from the CWEBbin package more language support, and more. -2019 (for TeX Live 2019, 7 April 2019) 2018 (for TeX Live 2018, 14 April 2018) * Directories in the -output-directory do not mask files by the same name. @@ -16,8 +19,6 @@ more language support, and more. 2016 (for TeX Live 2016, 21 May 2016) 2015 (for TeX Live 2015, 21 May 2015) 2014 (for TeX Live 2014, 24 May 2014) -* Ditto. - 2013 (for TeX Live 2013, 30 May 2013) * Doc changes and bug fixes. diff --git a/source/texk/web2c/ac/web2c.ac b/source/texk/web2c/ac/web2c.ac index b53eb432a..bc574d82b 100644 --- a/source/texk/web2c/ac/web2c.ac +++ b/source/texk/web2c/ac/web2c.ac @@ -1,4 +1,4 @@ -# $Id: web2c.ac 50341 2019-03-11 22:04:24Z karl $ +# $Id: web2c.ac 51577 2019-07-08 06:07:11Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ dnl dnl Copyright 2016-2019 Karl Berry <tex-live@tug.org> diff --git a/source/texk/web2c/configure b/source/texk/web2c/configure index 1c3e0ed5d..b515055a5 100755 --- a/source/texk/web2c/configure +++ b/source/texk/web2c/configure @@ -18600,7 +18600,7 @@ fi # Include additional code for web2c. -# $Id: web2c.ac 50341 2019-03-11 22:04:24Z karl $ +# $Id: web2c.ac 51577 2019-07-08 06:07:11Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/texk/web2c/cpascal.h b/source/texk/web2c/cpascal.h index 60374d8ec..ccebfc5f9 100644 --- a/source/texk/web2c/cpascal.h +++ b/source/texk/web2c/cpascal.h @@ -285,6 +285,7 @@ typedef const unsigned char *const_w2custring; #define kpsesrccompile kpse_src_compile #define recorderchangefilename recorder_change_filename #define recorderenabled recorder_enabled +#define texmfyesno texmf_yesno /* We need a new type for the argument parsing, too. */ typedef struct option getoptstruct; diff --git a/source/texk/web2c/doc/web2c.info b/source/texk/web2c/doc/web2c.info index 9403f7e81..f96cb41aa 100644 --- a/source/texk/web2c/doc/web2c.info +++ b/source/texk/web2c/doc/web2c.info @@ -1,4 +1,4 @@ -This is web2c.info, produced by makeinfo version 6.5 from web2c.texi. +This is web2c.info, produced by makeinfo version 6.6 from web2c.texi. This file documents the installation and use of the programs in Web2c, an implementation of Donald Knuth's TeX system. @@ -58,7 +58,7 @@ Web2c This document describes how to install and use the programs in the Web2c implementation of the TeX system, especially for Unix systems. It -corresponds to Web2c version 2019, released in February 2019. +corresponds to Web2c version 2019, released in August 2019. * Menu: @@ -82,7 +82,7 @@ File: web2c.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top 1 Introduction ************** -This manual corresponds to version 2019 of Web2c, released in February +This manual corresponds to version 2019 of Web2c, released in August 2019. "Web2c" is the name of a TeX implementation, originally for Unix, but @@ -1485,9 +1485,10 @@ Otherwise it is not. In any case, a message is written to the log file. The 'shell_escape_commands' value is a comma-separated list of words. Whitespace is significant, and typically should not be present. The -default definition looks like this, but with more commands included: +default definition in 'texmf.cnf' looks like this, but with more +commands included: - shell_escape_commands = bibtex,dvips,epstopdf,...,tex + shell_escape_commands = bibtex,kpsewhich,repstopdf,... pdfTeX and luaTeX support reading (via '\input' and '\openin') and writing (via '\openout') from pipes if the first character is '|'. The @@ -3571,14 +3572,14 @@ Index * \fontdimen: tftopl invocation. (line 99) * \immediate\write18: Shell escapes. (line 6) * \input filenames: \input filenames. (line 6) -* \input, and pipes: Shell escapes. (line 63) +* \input, and pipes: Shell escapes. (line 64) * \mag: dvicopy invocation. (line 20) * \mag <1>: dvitype invocation. (line 28) -* \openin, and pipes: Shell escapes. (line 63) +* \openin, and pipes: Shell escapes. (line 64) * \openout and security: tex invocation. (line 48) -* \openout, and pipes: Shell escapes. (line 63) +* \openout, and pipes: Shell escapes. (line 64) * \output routine, and \write: Shell escapes. (line 28) -* \pdfshellescape: Shell escapes. (line 63) +* \pdfshellescape: Shell escapes. (line 64) * \string: \input filenames. (line 59) * \tracingcharsubdef and MLTeX: \tracingcharsubdef. (line 6) * \tracinglostchars and MLTeX: \tracingcharsubdef. (line 11) @@ -4088,7 +4089,7 @@ Index * pfaedit: Font utilities available elsewhere. (line 30) * PiCTeX, increasing memory for: Runtime options. (line 20) -* pipes, reading and writing: Shell escapes. (line 63) +* pipes, reading and writing: Shell escapes. (line 64) * pixel height: pktype invocation. (line 62) * pixel width: pktype invocation. (line 62) * PK bitmaps from PostScript: Font utilities available elsewhere. @@ -4341,7 +4342,7 @@ Index * vptovf: vptovf invocation. (line 6) * weave: weave invocation. (line 6) * WEB: WEB. (line 6) -* web environments, and security: Shell escapes. (line 70) +* web environments, and security: Shell escapes. (line 71) * WEB pool files, displaying: pooltype invocation. (line 6) * WEB programs, compiling: tangle invocation. (line 6) * WEB programs, typesetting: weave invocation. (line 6) @@ -4390,74 +4391,74 @@ Index Tag Table: Node: Top2754 -Node: Introduction3752 -Node: Installation6913 -Node: configure options9015 -Node: Compile-time options11037 -Node: Additional targets12139 -Node: Triptrap13416 -Node: Runtime options14943 -Node: Commonalities16701 -Node: Option conventions17302 -Node: Common options18525 -Node: Path searching22905 -Node: Output file location23877 -Node: Three programs25202 -Node: Initial and virgin25956 -Node: Memory dumps26885 -Node: Creating memory dumps27341 -Node: Determining the memory dump to use28552 -Node: Hardware and memory dumps30133 -Node: Editor invocation32583 -Node: \input filenames33450 -Node: TeX36443 -Node: tex invocation37594 -Node: Initial TeX44497 -Node: Formats45861 -Node: Languages and hyphenation48787 -Node: MLTeX49217 -Node: \charsubdef50705 -Node: \tracingcharsubdef53028 -Node: TCX files53603 -Node: patgen invocation59043 -Node: Shell escapes59749 -Node: IPC and TeX63313 -Node: TeX extensions63883 -Node: Metafont65014 -Node: mf invocation66302 -Node: Initial Metafont70139 -Node: Modes71769 -Node: Online Metafont graphics74019 -Node: gftodvi invocation77444 -Node: mft invocation80264 -Node: MetaPost84262 -Node: mpost invocation85024 -Node: Initial MetaPost90200 -Node: dvitomp invocation91122 -Node: BibTeX91787 -Node: bibtex invocation92148 -Node: Basic BibTeX style files94622 -Node: WEB95952 -Node: tangle invocation97161 -Node: weave invocation99284 -Node: pooltype invocation100691 -Node: DVI utilities101821 -Node: dvicopy invocation102753 -Node: dvitype invocation104036 -Node: dvitype output example106365 -Node: Font utilities109416 -Node: Font file formats110596 -Node: gftopk invocation113865 -Node: pktogf invocation115056 -Node: pktype invocation116222 -Node: gftype invocation119045 -Node: tftopl invocation123548 -Node: pltotf invocation128141 -Node: vftovp invocation129192 -Node: vptovf invocation131427 -Node: Font utilities available elsewhere132454 -Node: Legalisms134834 -Node: References136988 -Node: Index141555 +Node: Introduction3750 +Node: Installation6909 +Node: configure options9011 +Node: Compile-time options11033 +Node: Additional targets12135 +Node: Triptrap13412 +Node: Runtime options14939 +Node: Commonalities16697 +Node: Option conventions17298 +Node: Common options18521 +Node: Path searching22901 +Node: Output file location23873 +Node: Three programs25198 +Node: Initial and virgin25952 +Node: Memory dumps26881 +Node: Creating memory dumps27337 +Node: Determining the memory dump to use28548 +Node: Hardware and memory dumps30129 +Node: Editor invocation32579 +Node: \input filenames33446 +Node: TeX36439 +Node: tex invocation37590 +Node: Initial TeX44493 +Node: Formats45857 +Node: Languages and hyphenation48783 +Node: MLTeX49213 +Node: \charsubdef50701 +Node: \tracingcharsubdef53024 +Node: TCX files53599 +Node: patgen invocation59039 +Node: Shell escapes59745 +Node: IPC and TeX63325 +Node: TeX extensions63895 +Node: Metafont65026 +Node: mf invocation66314 +Node: Initial Metafont70151 +Node: Modes71781 +Node: Online Metafont graphics74031 +Node: gftodvi invocation77456 +Node: mft invocation80276 +Node: MetaPost84274 +Node: mpost invocation85036 +Node: Initial MetaPost90212 +Node: dvitomp invocation91134 +Node: BibTeX91799 +Node: bibtex invocation92160 +Node: Basic BibTeX style files94634 +Node: WEB95964 +Node: tangle invocation97173 +Node: weave invocation99296 +Node: pooltype invocation100703 +Node: DVI utilities101833 +Node: dvicopy invocation102765 +Node: dvitype invocation104048 +Node: dvitype output example106377 +Node: Font utilities109428 +Node: Font file formats110608 +Node: gftopk invocation113877 +Node: pktogf invocation115068 +Node: pktype invocation116234 +Node: gftype invocation119057 +Node: tftopl invocation123560 +Node: pltotf invocation128153 +Node: vftovp invocation129204 +Node: vptovf invocation131439 +Node: Font utilities available elsewhere132466 +Node: Legalisms134846 +Node: References137000 +Node: Index141567 End Tag Table diff --git a/source/texk/web2c/doc/web2c.texi b/source/texk/web2c/doc/web2c.texi index ee8abb948..871d811b3 100644 --- a/source/texk/web2c/doc/web2c.texi +++ b/source/texk/web2c/doc/web2c.texi @@ -12,7 +12,7 @@ The latest version is available from ftp://ftp.tug.org/tex/texinfo.tex.} @end tex @set version 2019 -@set month-year February 2019 +@set month-year August 2019 @c Define new indices for commands in auxiliary files, filenames, and options. @defcodeindex cm @@ -1667,11 +1667,11 @@ the log file. The @code{shell_escape_commands} value is a comma-separated list of words. Whitespace is significant, and typically should not be -present. The default definition looks like this, but with more -commands included: +present. The default definition in @file{texmf.cnf} looks like this, +but with more commands included: @example -shell_escape_commands = bibtex,dvips,epstopdf,...,tex +shell_escape_commands = bibtex,kpsewhich,repstopdf,... @end example @cindex pipes, reading and writing diff --git a/source/texk/web2c/eptexdir/eptex_version.h b/source/texk/web2c/eptexdir/eptex_version.h index cd40e324d..6fa8a2133 100644 --- a/source/texk/web2c/eptexdir/eptex_version.h +++ b/source/texk/web2c/eptexdir/eptex_version.h @@ -1 +1 @@ -#define EPTEX_VERSION "190131" +#define EPTEX_VERSION "190709" diff --git a/source/texk/web2c/lib/ChangeLog b/source/texk/web2c/lib/ChangeLog index 68adeb119..a73e50181 100644 --- a/source/texk/web2c/lib/ChangeLog +++ b/source/texk/web2c/lib/ChangeLog @@ -1,3 +1,35 @@ +2019-08-10 Andreas Scherer <https://ascherer.github.io> + + * lib.h: add missing prototypes from 'openclose.c' and 'texmfmp.c'. + +2019-08-09 Karl Berry <karl@freefriends.org> + + * texmfmp.c (texmf_yesno): no longer static, since we call it + from tex.ch. + + * texmfmp.c: doc fixes; most "fixme"s were nothing that we ever + need to fix at this late date. + +2019-08-08 Akira Kakuto <kakuto@w32tex.org> + + * texmfmp.c: This file is not used in lua[jit]tex. + +2019-08-07 Akira Kakuto <kakuto@w32tex.org> + + * texmfmp.c: Improve support of non-ascii path names in + synctex. Support -cnf-line=command_line_encoding=value. + These changes are for Windows only. + +2019-08-06 Karl Berry <karl@freefriends.org> + + * texmfmp.c (long_options): new option --cnf-line. + (user_cnf_lines, user_cnf_nlines): new globals. + (maininit): call kpathsea_cnf_line_env_progname + on each specified --cnf-line. + (parse_options): recognize it and save each arg. + Following suggestion from Pavel Sanda on ntg-pdftex, + 15 Jun 2019 19:02:11. + 2019-07-01 Hironobu Yamashita <h.y.acetaminophen@gmail.com> * texmfmp.c (getcreationdate): Fix a wrong conditional (XeTeX only). diff --git a/source/texk/web2c/lib/lib.h b/source/texk/web2c/lib/lib.h index 31f423508..039218b7d 100644 --- a/source/texk/web2c/lib/lib.h +++ b/source/texk/web2c/lib/lib.h @@ -37,6 +37,7 @@ extern void mainbody (void); /* generated by web2c */ /* openclose.c */ extern boolean open_input (FILE **, int, const_string fopen_mode); extern boolean open_output (FILE **, const_string fopen_mode); +extern boolean open_input_with_dirname (FILE **, int, const char *); extern void close_file (FILE *); extern void recorder_change_filename (string); extern void recorder_record_input (const_string); @@ -53,6 +54,9 @@ extern void printversionandexit (const_string, const_string, const_string, const /* Set an array size from texmf.cnf. */ extern void setupboundvariable (integer *, const_string, integer); +/* texmfmp.c */ +extern boolean texmf_yesno(const_string); + /* version.c */ extern const char *versionstring; diff --git a/source/texk/web2c/lib/texmfmp.c b/source/texk/web2c/lib/texmfmp.c index 9d8303777..6f704ab7c 100644 --- a/source/texk/web2c/lib/texmfmp.c +++ b/source/texk/web2c/lib/texmfmp.c @@ -5,7 +5,7 @@ This file is public domain. */ -/* This file is included from, e.g., texextra,c after +/* This file is included from, e.g., texextra.c after #define EXTERN #include <texd.h> to instantiate data from texd.h here. The ?d.h file is what @@ -14,6 +14,7 @@ #include <kpathsea/config.h> #include <kpathsea/c-ctype.h> +#include <kpathsea/cnf.h> #include <kpathsea/line.h> #include <kpathsea/readable.h> #include <kpathsea/variable.h> @@ -130,9 +131,18 @@ --output-directory option is given. Borrowed from LuaTeX. */ +#if defined(_WIN32) +#if defined(pdfTeX) || defined(upTeX) || defined(eupTeX) || defined(XeTeX) +#define W32USYNCTEX 1 +#endif +#endif + char *generic_synctex_get_current_name (void) { char *pwdbuf, *ret; +#if defined(W32USYNCTEX) + wchar_t *wpwd; +#endif /* W32USYNCTEX */ if (!fullnameoffile) { ret = xstrdup(""); return ret; @@ -141,6 +151,14 @@ char *generic_synctex_get_current_name (void) return xstrdup(fullnameoffile); } pwdbuf = xgetcwd(); +#if defined(W32USYNCTEX) + if (file_system_codepage != 0 && file_system_codepage != win32_codepage) { + wpwd = get_wstring_from_mbstring(win32_codepage, pwdbuf, wpwd=NULL); + free (pwdbuf); + pwdbuf = get_mbstring_from_wstring(file_system_codepage, wpwd, pwdbuf=NULL); + free (wpwd); + } +#endif /* W32USYNCTEX */ ret = concat3(pwdbuf, DIR_SEP_STRING, fullnameoffile); free(pwdbuf) ; return ret; @@ -663,6 +681,10 @@ int argc; /* If the user overrides argv[0] with -progname. */ static const_string user_progname; +/* Array and count of values given with --config-line. */ +static string *user_cnf_lines = NULL; +static unsigned user_cnf_nlines = 0; + /* The C version of the jobname, if given. */ static const_string c_job_name; @@ -687,8 +709,10 @@ static void parse_options (int, string *); /* Try to figure out if we have been given a filename. */ static string get_input_file_name (void); -/* Get a true/false value for a variable from texmf.cnf and the environment. */ -static boolean +/* Get a true/false value for a variable from texmf.cnf and the + environment. Not static because we call it from tex.ch. */ + +boolean texmf_yesno(const_string var) { string value = kpse_var_value (var); @@ -705,8 +729,10 @@ static string normalize_quotes (const_string name, const_string mesg); #endif /* WIN32 */ -/* The entry point: set up for reading the command line, which will - happen in `topenin', then call the main body. */ +/* maininit, called from main() - this is most of the main routine, + including our C-level option handling and concomitant kpse setup. + The original TeX/MF code for handling first lines is still live, and + we set up for that in `topenin' (which is called from the .web). */ void maininit (int ac, string *av) @@ -745,6 +771,30 @@ maininit (int ac, string *av) kpse_set_program_name (argv[0], NULL); #endif #if (IS_upTeX || defined(XeTeX) || defined(pdfTeX)) && defined(WIN32) +/* + -cnf-line=command_line_encoding=value cannot give effect because + command_line_encoding is read here before parsing the command + line. So we add the following. +*/ + { /* support old compilers which are incompatible with C99 */ + int n; + for (n = 1; n < ac; n++) { + if (!strncasecmp (av[n], "-cnf-line=command_line_encoding=", 32)) { + putenv (av[n] + 10); + break; + } + if (!strncasecmp (av[n], "--cnf-line=command_line_encoding=", 33)) { + putenv (av[n] + 11); + break; + } + if (n < ac - 1 && (!strncasecmp (av[n], "-cnf-line", 9) || + !strncasecmp (av[n], "--cnf-line", 10)) && + !strncasecmp (av[n+1], "command_line_encoding=", 22)) { + putenv (av[n+1]); + break; + } + } + } enc = kpse_var_value("command_line_encoding"); get_command_line_args_utf8(enc, &argc, &argv); #endif @@ -796,23 +846,30 @@ maininit (int ac, string *av) #if defined(MF) #if defined(MFLua) - /* If the program name is "mflua-nowin", then reset the name as "mflua". */ + /* Reset mf*-nowin program names. */ if (strncasecmp (kpse_invocation_name, "mflua-nowin", 11) == 0) kpse_reset_program_name ("mflua"); #elif defined(MFLuaJIT) - /* If the program name is "mfluajit-nowin", then reset the name as "mfluajit". */ if (strncasecmp (kpse_invocation_name, "mfluajit-nowin", 14) == 0) kpse_reset_program_name ("mfluajit"); #else - /* If the program name is "mf-nowin", then reset the name as "mf". */ if (strncasecmp (kpse_invocation_name, "mf-nowin", 8) == 0) kpse_reset_program_name ("mf"); #endif #endif - /* FIXME: gather engine names in a single spot. */ + /* Make the given engine name available in the variable `engine'. */ xputenv ("engine", TEXMFENGINENAME); + if (user_cnf_lines) { + unsigned i; + for (i = 0; i < user_cnf_nlines; i++) { + /* debug printf ("ucnf%d: %s\n", i, user_cnf_lines[i]); */ + kpathsea_cnf_line_env_progname (kpse_def, user_cnf_lines[i]); + free (user_cnf_lines[i]); + } + } + /* Were we given a simple filename? */ main_input_file = get_input_file_name (); @@ -879,7 +936,6 @@ maininit (int ac, string *av) } /* Check whether there still is no translate_filename known. If so, use the default_translate_filename. */ - /* FIXME: deprecated. */ if (!translate_filename) { translate_filename = default_translate_filename; } @@ -995,9 +1051,10 @@ maininit (int ac, string *av) #endif /* TeX */ } -/* The entry point: set up for reading the command line, which will - happen in `topenin', then call the main body. */ - +/* main: Set up for reading the command line, which will happen in + `maininit' and `topenin', then call the main body, plus + special Windows/Kanji initializations. */ + int #if defined(DLLPROC) DLLPROC (int ac, string *av) @@ -1432,8 +1489,6 @@ tcx_get_num (int upb, tex.pool. If no suffix in FNAME, use .tcx (don't bother trying to support extension-less names for these files). */ -/* FIXME: A new format ought to be introduced for these files. */ - void readtcxfile (void) { @@ -1633,17 +1688,18 @@ get_input_file_name (void) static struct option long_options[] = { { DUMP_OPTION, 1, 0, 0 }, #ifdef TeX - /* FIXME: Obsolete -- for backward compatibility only. */ + /* Obsolete -- for backward compatibility only. */ { "efmt", 1, 0, 0 }, #endif + { "cnf-line", 1, 0, 0 }, { "help", 0, 0, 0 }, { "ini", 0, &iniversion, 1 }, { "interaction", 1, 0, 0 }, { "halt-on-error", 0, &haltonerrorp, 1 }, { "kpathsea-debug", 1, 0, 0 }, { "progname", 1, 0, 0 }, - { "version", 0, 0, 0 }, { "recorder", 0, &recorder_enabled, 1 }, + { "version", 0, 0, 0 }, #ifdef TeX #ifdef IPC { "ipc", 0, &ipcon, 1 }, @@ -1721,7 +1777,6 @@ parse_options (int argc, string *argv) break; if (g == '?') { /* Unknown option. */ - /* FIXME: usage (argv[0]); replaced by continue. */ continue; } @@ -1740,6 +1795,17 @@ parse_options (int argc, string *argv) } else if (ARGUMENT_IS ("progname")) { user_progname = optarg; + } else if (ARGUMENT_IS ("cnf-line")) { + if (user_cnf_lines == NULL) { + user_cnf_nlines = 1; + user_cnf_lines = xmalloc (sizeof (const_string)); + } else { + user_cnf_nlines++; + user_cnf_lines = xrealloc (user_cnf_lines, + user_cnf_nlines * sizeof (const_string)); + } + user_cnf_lines[user_cnf_nlines-1] = xstrdup (optarg); + } else if (ARGUMENT_IS ("jobname")) { #ifdef XeTeX c_job_name = optarg; @@ -1752,7 +1818,7 @@ parse_options (int argc, string *argv) dumpoption = true; #ifdef TeX - /* FIXME: Obsolete -- for backward compatibility only. */ + /* For backward compatibility only. */ } else if (ARGUMENT_IS ("efmt")) { dump_name = optarg; dumpoption = true; @@ -2008,7 +2074,6 @@ parse_first_line (const_string filename) s = *parse+16; } /* Just set the name, no sanity checks here. */ - /* FIXME: remove trailing spaces. */ if (s && *s) { translate_filename = xstrdup(s); } @@ -2772,7 +2837,7 @@ do_undump (char *p, int item_size, int nitems, FILE *in_file) #endif } -/* FIXME -- some (most?) of this can/should be moved to the Pascal/WEB side. */ +/* Some (most?) of this could be moved to the WEB side, but oh well. */ #if defined(TeX) || defined(MF) #if !defined(pdfTeX) static void diff --git a/source/texk/web2c/man/ChangeLog b/source/texk/web2c/man/ChangeLog index 670ec4ec0..ad90435ff 100644 --- a/source/texk/web2c/man/ChangeLog +++ b/source/texk/web2c/man/ChangeLog @@ -1,3 +1,17 @@ +2019-08-06 Karl Berry <karl@freefriends.org> + + * aleph.man, + * etex.man, + * mf.man, + * pdftex.man, + * tex.man: mention --cnf-line. + +2019-08-04 Karl Berry <karl@freefriends.org> + + * pdftex.man (-synctex, -8bit): add per https://bugs.debian.org/772928. + (-shell-restricted): also add this. + Also don't italicize "PDF" and "DVI", url updates, etc. + 2019-06-20 Andreas Scherer <https://ascherer.github.io> * ctwill.man: Regenerate with Pandoc 2.7.3, diff --git a/source/texk/web2c/man/aleph.man b/source/texk/web2c/man/aleph.man index c61010ace..9a34ad16c 100644 --- a/source/texk/web2c/man/aleph.man +++ b/source/texk/web2c/man/aleph.man @@ -1,4 +1,4 @@ -.TH ALEPH 1 "27 May 2018" "Web2C @VERSION@" +.TH ALEPH 1 "6 August 2019" "Web2C @VERSION@" .\"===================================================================== .if n .ds MF Metafont .if t .ds MF Metafont @@ -56,6 +56,13 @@ activity. Run aleph --help to see the complete list of options; this is not exhaustive. .TP +.BI -cnf-line \ string +Parse +.I string +as a +.I texmf.cnf +configuration line. See the Kpathsea manual. +.TP .BI --fmt \ format Use .I format diff --git a/source/texk/web2c/man/etex.man b/source/texk/web2c/man/etex.man index d8a6d23cf..4e72d1b2b 100644 --- a/source/texk/web2c/man/etex.man +++ b/source/texk/web2c/man/etex.man @@ -1,4 +1,4 @@ -.TH ETEX 1 "27 May 2018" "Web2C @VERSION@" +.TH ETEX 1 "6 August 2019" "Web2C @VERSION@" .\"===================================================================== .if n .ds MF Metafont .if t .ds MF Metafont @@ -68,7 +68,15 @@ the other \*(TX programs in the implementation. .\"===================================================================== .SH OPTIONS -This version of e-\*(TX understands the following command line options. +Run etex --help to see the complete list of options; this is not +exhaustive. +.TP +.BI -cnf-line \ string +Parse +.I string +as a +.I texmf.cnf +configuration line. See the Kpathsea manual. .TP .BI -fmt \ format Use diff --git a/source/texk/web2c/man/mf.man b/source/texk/web2c/man/mf.man index d43830621..24c87f042 100644 --- a/source/texk/web2c/man/mf.man +++ b/source/texk/web2c/man/mf.man @@ -1,4 +1,4 @@ -.TH MF 1 "17 January 2018" "Web2C @VERSION@" +.TH MF 1 "6 August 2019" "Web2C @VERSION@" .\"===================================================================== .if n .ds MF Metafont .if t .ds MF Metafont @@ -252,6 +252,13 @@ as the name of the base to be used, instead of the name by which .I %& line. .TP +.BI -cnf-line \ string +Parse +.I string +as a +.I texmf.cnf +configuration line. See the Kpathsea manual. +.TP .B -file-line-error Print error messages in the form .I file:line:error diff --git a/source/texk/web2c/man/pdftex.man b/source/texk/web2c/man/pdftex.man index 4e1ae088a..6f7302d91 100644 --- a/source/texk/web2c/man/pdftex.man +++ b/source/texk/web2c/man/pdftex.man @@ -1,4 +1,4 @@ -.TH PDFTEX 1 "4 May 2016" "Web2C @VERSION@" +.TH PDFTEX 1 "6 August 2019" "Web2C @VERSION@" .\"===================================================================== .if n .ds MF Metafont .if t .ds MF Metafont @@ -45,16 +45,11 @@ it is usually better to use the .I format option instead. .PP -pdf\*(TX is a version of \*(TX, with the e-\*(TX extensions, that can create -.I PDF -files as well as -.I DVI -files. +pdf\*(TX is a version of \*(TX, with the e-\*(TX extensions, that can +create PDF files as well as DVI files. .PP -In -.I DVI -mode, pdf\*(TX can be used as a complete replacement for the \*(TX -engine. +In DVI mode, pdf\*(TX can be used as a complete replacement for the +\*(TX engine. .PP The typical use of pdf\*(TX is with a pregenerated formats for which PDF output has been enabled. The @@ -79,9 +74,7 @@ links to the .B pdftex executable. .PP -In -.I PDF -mode, pdf\*(TX can natively handle the +In PDF mode, pdf\*(TX can natively handle the .IR PDF , .IR JPG , .IR JBIG2 , @@ -94,10 +87,21 @@ pdf\*(TX's handling of its command-line arguments is similar to that of of the other \*(TX programs in the .I web2c implementation. +.PP +Starting with version 1.40, pdf\*(TX incorporates the e-\*(TX +extensions, and pdfe\*(TX is just a copy of pdf\*(TX. See +.BR etex (1). .\"===================================================================== .SH OPTIONS This version of pdf\*(TX understands the following command line options. .TP +.BI -cnf-line \ string +Parse +.I string +as a +.I texmf.cnf +configuration line. See the Kpathsea manual. +.TP .B -draftmode Sets \epdfdraftmode so pdf\*(TX doesn't write a PDF and doesn't read any included images, thus speeding up execution. @@ -107,7 +111,7 @@ Enable the enc\*(TX extensions. This option is only effective in combination with .BR -ini . For documentation of the enc\*(TX extensions see -.BR http://www.olsak.net/enctex.html . +http://www.olsak.net/enctex.html. .TP .B -etex Enable the e-\*(TX extensions. This option is only effective in @@ -208,16 +212,10 @@ or .IR tfm . .TP .BI -output-comment \ string -In -.I DVI -mode, use +In DVI mode, use .I string -for the -.I DVI -file comment instead of the date. This option is ignored -in -.I PDF -mode. +for the DVI file comment instead of the date. This option is ignored in +PDF mode. .TP .BI -output-directory \ directory Write output files in @@ -258,7 +256,7 @@ in a file with extension .TP .B -shell-escape Enable the -.BI \ewrite18{ command } +.RI \ewrite18{ command } construct. The .I command can be any shell command. This construct is normally @@ -266,29 +264,23 @@ disallowed for security reasons. .TP .B -no-shell-escape Disable the -.BI \ewrite18{ command } +.RI \ewrite18{ command } construct, even if it is enabled in the .I texmf.cnf file. .TP +.B -shell-restricted +Enable restricted \ewrite18{}, as explained in the ``Shell escapes'' +section of the Web2c Texinfo manual. +.TP .B -src-specials -In -.I DVI -mode, insert source specials into the -.I DVI -file. -This option is ignored in -.I PDF -mode. +In DVI mode, insert source specials into the DVI file. This option is +ignored in PDF mode. .TP .BI -src-specials \ where -In -.I DVI -mode, insert source specials in certain placed of the -.I DVI -file. +In DVI mode, insert source specials in certain places of the DVI file. The .I where -is a comma-separated value list: +argument is a comma-separated value list: .IR cr , .IR display , .IR hbox , @@ -297,9 +289,12 @@ is a comma-separated value list: .IR parent , or .IR vbox . -This option is ignored in -.I PDF -mode. +This option is ignored in PDF mode. +.TP +.BI -synctex \ NUMBER +generate SyncTeX data for previewers according to bits of NUMBER. See the +.I synctex +manual page for details. .TP .BI -translate-file \ tcxname Use the @@ -316,6 +311,9 @@ line can overrule this setting. .TP .B -version Print version information and exit. +.TP +.B -8bit +make all characters printable by default. .\"===================================================================== .SH ENVIRONMENT See the Kpathsea library documentation (e.g., the `Path specifications' @@ -325,9 +323,9 @@ The utility can be used to query the values of the variables. .PP One caveat: In most pdf\*(TX formats, you cannot use ~ in a filename you -give directly to pdf\*(TX, because ~ is an active character, and hence is -expanded, not taken as part of the filename. Other programs, such as -\*(MF, do not have this problem. +give directly to pdf\*(TX, because ~ is an active character in \*(TX, +and hence is expanded, not taken as part of the filename. Other +programs, such as \*(MF, do not have this problem. .PP .TP .B TEXMFOUTPUT @@ -354,7 +352,7 @@ Search path for and .I \eopenin files. -This should start with ``.'', so +This normally starts with ``.'', so that user files are found before system files. An empty path component will be replaced with the paths defined in the .I texmf.cnf @@ -409,26 +407,14 @@ Metric files for pdf\*(TX's fonts. .TP .I *.fmt Predigested pdf\*(TX format (.\|fmt) files. -.br .\"===================================================================== .SH NOTES -Starting with version 1.40, pdf\*(TX incorporates the e-\*(TX -extensions, and pdfe\*(TX is just a copy of pdf\*(TX. See -.BR etex (1). -This manual page is not meant to be exhaustive. The complete -documentation for this version of pdf\*(TX can be found in the -.IR "pdf\*(TX manual" -and the info manual -.IR "Web2C: A TeX implementation" . .\"===================================================================== .SH BUGS This version of pdf\*(TX fails to trap arithmetic overflow when dimensions are added or subtracted. Cases where this occurs are rare, but when it does the generated -.I DVI -file will be invalid. Whether a generated -.I PDF -file would be usable is unknown. +DVI or PDF file will be invalid. .\"===================================================================== .SH AVAILABILITY pdf\*(TX is available for a large variety of machine architectures @@ -437,13 +423,20 @@ pdf\*(TX is part of all major \*(TX distributions. .br The pdf\*(TX home page: http://www.pdftex.org. .br -pdf\*(TX on CTAN: http://www.ctan.org/pkg/pdftex. +pdf\*(TX on CTAN: https://ctan.org/pkg/pdftex. .br -pdf\*(TX mailing list for all discussion: http://lists.tug.org/pdftex. +pdf\*(TX mailing list for all discussion: https://lists.tug.org/pdftex. .\"===================================================================== .SH "SEE ALSO" -The full pdf\*(TX manual can be accessed from the home page or CTAN page. -Same for the Web2C, Kpathsea, and other manuals. +This manual page is not meant to be exhaustive. The complete +documentation for this version of pdf\*(TX can be found in the +.IR "pdf\*(TX user manual" +and the Texinfo manuals +.IR "Kpathsea library" , +.IR "Web2C: A TeX implementation" . +These manuals, and more, can be accessed from the pdfTeX or CTAN web +pages given above. +.PP Some related programs: .BR epstopdf (1), .BR etex (1), @@ -465,6 +458,5 @@ The version now offered with the Unix \*(TX distribution is that generated by the \*(WB to C system .RB ( web2c ), originally written by Tomas Rokicki and Tim Morgan. -.PP The enc\*(TX extensions were written by Petr Olsak. .\" vim: syntax=nroff diff --git a/source/texk/web2c/man/tex.man b/source/texk/web2c/man/tex.man index 445ab949c..8260b0883 100644 --- a/source/texk/web2c/man/tex.man +++ b/source/texk/web2c/man/tex.man @@ -1,4 +1,4 @@ -.TH TEX 1 "16 June 2015" "Web2C @VERSION@" +.TH TEX 1 "6 August 2019" "Web2C @VERSION@" .\"===================================================================== .if n .ds MF Metafont .if t .ds MF Metafont @@ -182,6 +182,13 @@ EOF character (usually control-D). .SH OPTIONS This version of \*(TX understands the following command line options. .TP +.BI -cnf-line \ string +Parse +.I string +as a +.I texmf.cnf +configuration line. See the Kpathsea manual. +.TP .B -enc Enable the enc\*(TX extensions. This option is only effective in combination with @@ -488,7 +495,7 @@ Addison-Wesley, 1985, ISBN 0-201-15790-X. .br K. Berry, .IR "Eplain: Expanded plain \*(TX" , -ftp://ftp.cs.umb.edu/pub/tex/eplain/doc. +https://tug.org/eplain .br Michael Spivak, .IR "The Joy of \*(OX" , @@ -496,6 +503,7 @@ Michael Spivak, .br .I TUGboat (the journal of the \*(TX Users Group). +https://tug.org/TUGboat .\"===================================================================== .SH TRIVIA \*(TX, pronounced properly, rhymes with ``blecchhh.'' The proper diff --git a/source/texk/web2c/pdftexdir/am/pdftex.am b/source/texk/web2c/pdftexdir/am/pdftex.am index 152787d77..e22dccfdf 100644 --- a/source/texk/web2c/pdftexdir/am/pdftex.am +++ b/source/texk/web2c/pdftexdir/am/pdftex.am @@ -1,6 +1,6 @@ ## texk/web2c/pdftexdir/am/pdftex.am: Makefile fragment for pdfTeX. ## -## Copyright 2016-2018 Karl Berry <tex-live@tug.org> +## Copyright 2016-2019 Karl Berry <tex-live@tug.org> ## Copyright 2009-2015 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. @@ -95,10 +95,12 @@ EXTRA_DIST += \ # pdfTeX tests # pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \ - pdftexdir/pdfimage.test pdftexdir/expanded.test + pdftexdir/pdfimage.test pdftexdir/expanded.test \ + pdftexdir/tests/cnfline.test pdftexdir/wprob.log pdftexdir/pdftex.log \ - pdftexdir/pdfimage.log pdftexdir/expanded.log: pdftex$(EXEEXT) + pdftexdir/pdfimage.log pdftexdir/expanded.log \ + pdftexdir/cnfline.log: pdftex$(EXEEXT) EXTRA_DIST += $(pdftex_tests) @@ -116,5 +118,9 @@ EXTRA_DIST += pdftexdir/tests/pdfimage.tex \ DISTCLEANFILES += pdfimage.fmt pdfimage.log pdfimage.pdf ## expanded.test -EXTRA_DIST += tests/expanded.tex +EXTRA_DIST += tests/expanded.tex tests/expanded.txt DISTCLEANFILES += expanded.log + +## cnfline.test +EXTRA_DIST += tests/cnfline.tex +DISTCLEANFILES += cnfline.log diff --git a/source/texk/web2c/synctexdir/ChangeLog b/source/texk/web2c/synctexdir/ChangeLog index a49d19d71..c33ca0d9f 100644 --- a/source/texk/web2c/synctexdir/ChangeLog +++ b/source/texk/web2c/synctexdir/ChangeLog @@ -1,3 +1,8 @@ +2019-08-07 Akira Kakuto <kakuto@w32tex.org> + + * synctex.c: Improve support of non-ascii path names + (Windows only). + 2018-10-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp> * synctex.c: Cleanup for non-ascii file names (w32 only). diff --git a/source/texk/web2c/synctexdir/synctex.c b/source/texk/web2c/synctexdir/synctex.c index 598c2b304..ae1334d61 100644 --- a/source/texk/web2c/synctexdir/synctex.c +++ b/source/texk/web2c/synctexdir/synctex.c @@ -293,7 +293,7 @@ mem[NODE+TYPE##_node_size-synchronization_field_size+1].cint # endif #if defined(_WIN32) -#if defined(pdfTeX) || defined(upTeX) || defined(eupTeX) || defined(XeTeX) +#if defined(pdfTeX) || defined(upTeX) || defined(eupTeX) || defined(XeTeX) || defined(LuaTeX) || defined(LuajitTeX) #define W32UPTEXSYNCTEX 1 #include <wchar.h> static char *chgto_oem(char *src); @@ -591,7 +591,8 @@ static int fsyscp_rename(char *s1, char *s2) } #undef fopen -#define fopen fsyscp_fopen +extern FILE *f_fsyscp_fopen(const char *filename, const char *mode); +#define fopen f_fsyscp_fopen #define gzopen fsyscp_gzopen #define rename fsyscp_rename #define remove fsyscp_remove diff --git a/source/texk/web2c/texmfmp-help.h b/source/texk/web2c/texmfmp-help.h index f8358656c..1e720340c 100644 --- a/source/texk/web2c/texmfmp-help.h +++ b/source/texk/web2c/texmfmp-help.h @@ -1,6 +1,6 @@ /* The help messages for TeX & MF family of programs. -Copyright 1995, 1996, 2008-2016 Karl Berry. +Copyright 1995, 1996, 2008-2019 Karl Berry. Copyright 2001-05 Olaf Weber. This program is free software; you can redistribute it and/or modify @@ -40,6 +40,7 @@ const_string ALEPHHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-etex enable e-TeX extensions", "[-no]-file-line-error disable/enable file:line:error style messages", "-fmt=FMTNAME use FMTNAME instead of program name or a %& line", @@ -95,6 +96,7 @@ const_string EPTEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-etex enable e-TeX extensions", "-fmt=NAME use NAME instead of program name or %&format.", #if defined(WIN32) @@ -159,6 +161,7 @@ const_string ETEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-enc enable encTeX extensions such as \\mubyte", "-etex enable e-TeX extensions", "[-no]-file-line-error disable/enable file:line:error style messages", @@ -222,6 +225,7 @@ const_string EUPTEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-etex enable e-TeX extensions", "-fmt=NAME use NAME instead of program name or %&format.", #if defined(WIN32) @@ -289,6 +293,7 @@ const_string MFHELP[] = { " If no arguments or options are specified, prompt for input.", "", "-base=BASENAME use BASENAME instead of program name or a %& line", + "-cnf-line=STRING parse STRING as a configuration file line", "[-no]-file-line-error disable/enable file:line:error style messages", "-halt-on-error stop processing at the first error", "-ini be inimf, for dumping bases; this is implicitly", @@ -421,6 +426,7 @@ const_string PDFTEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-draftmode switch on draft mode (generates no output PDF)", "-enc enable encTeX extensions such as \\mubyte", "-etex enable e-TeX extensions", @@ -489,6 +495,7 @@ const_string PTEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-fmt=NAME use NAME instead of program name or %&format.", #if defined(WIN32) "[-no]-guess-input-enc disable/enable to guess input file encoding", @@ -552,6 +559,7 @@ const_string TEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-enc enable encTeX extensions such as \\mubyte", "[-no]-file-line-error disable/enable file:line:error style messages", "-fmt=FMTNAME use FMTNAME instead of program name or a %& line", @@ -614,6 +622,7 @@ const_string UPTEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-fmt=NAME use NAME instead of program name or %&format.", #if defined(WIN32) "[-no]-guess-input-enc disable/enable to guess input file encoding", @@ -677,6 +686,7 @@ const_string XETEXHELP[] = { "", " If no arguments or options are specified, prompt for input.", "", + "-cnf-line=STRING parse STRING as a configuration file line", "-etex enable e-TeX extensions", "[-no]-file-line-error disable/enable file:line:error style messages", "-fmt=FMTNAME use FMTNAME instead of program name or a %& line", diff --git a/source/texk/web2c/triptrap/trip.diffs b/source/texk/web2c/triptrap/trip.diffs index e5b0d45dd..639ff619a 100644 --- a/source/texk/web2c/triptrap/trip.diffs +++ b/source/texk/web2c/triptrap/trip.diffs @@ -44,62 +44,57 @@ < (trip.tex ## --- > (./trip.tex ## -58a59,62 -> \openout0 = `8terminal.tex'. -> -> \openout10 = `tripos.tex'. -> -1405c1409 +1405c1405 < \vbox(16383.99998+0.0)x1000.0, glue set 16342.0fil --- > \vbox(16383.99998+0.0)x1000.0, glue set 16341.99998fil -1954c1958 +1954c1954 < (tripos.tex --- > (./tripos.tex -2018c2022 +2018c2018 < \vbox(16383.99998+1.0)x100.0, glue set 16239.0fil --- > \vbox(16383.99998+1.0)x100.0, glue set 16238.99998fil -2533c2537 +2533c2533 < \vbox(16383.99998+0.0)x20.0, glue set 16331.0fil --- > \vbox(16383.99998+0.0)x20.0, glue set 16330.99998fil -3326c3330 +3326c3326 < \vbox(10000.0+2.0)x28.0, glue set 9737.58789fil --- > \vbox(10000.0+2.0)x28.0, glue set 9737.58742fil -3864c3868 +3864c3864 < \vbox(16383.99998+2.0)x100.0, glue set 16318.0fil --- > \vbox(16383.99998+2.0)x100.0, glue set 16317.99997fil -4034c4038 +4034c4034 < \vbox(16383.99998+0.0)x8236.0, glue set 16344.0fil --- > \vbox(16383.99998+0.0)x8236.0, glue set 16343.99998fil -4420c4424 +4420c4420 < \vbox(16383.99998+0.0)x100.0, glue set 16332.0fil --- > \vbox(16383.99998+0.0)x100.0, glue set 16331.99998fil -4742c4746 +4742c4742 < \vbox(16383.99998+0.0)x205.12613, glue set 16344.0fil --- > \vbox(16383.99998+0.0)x205.12613, glue set 16343.99998fil -6380c6384 +6380c6380 < (tripos.tex --- > (./tripos.tex -7296,7297c7300,7301 +7296,7297c7296,7297 < 47 strings out of 1674 < 253 string characters out of 8354 --- > 44 strings out of 1629 -> 261 string characters out of 15394 -7299c7303 +> 261 string characters out of 15395 +7299c7299 < 372 multiletter control sequences out of 2100 --- > 372 multiletter control sequences out of 15000+0 -7301c7305 +7301c7301 < 2 hyphenation exceptions out of 307 --- > 1 hyphenation exception out of 659 diff --git a/source/texk/web2c/web2c/ChangeLog b/source/texk/web2c/web2c/ChangeLog index 897e0b518..35e35a8e3 100644 --- a/source/texk/web2c/web2c/ChangeLog +++ b/source/texk/web2c/web2c/ChangeLog @@ -1,3 +1,7 @@ +2019-08-09 Karl Berry <karl@freefriends.org> + + * web2c.defines (texmfyes): new function. + 2018-11-11 Andreas Scherer <https://ascherer.github.io> * fixwrites.c (main): check return value from fgets. diff --git a/source/texk/web2c/web2c/texmf.defines b/source/texk/web2c/web2c/texmf.defines index 4a624aced..d00b9113c 100644 --- a/source/texk/web2c/web2c/texmf.defines +++ b/source/texk/web2c/web2c/texmf.defines @@ -33,6 +33,7 @@ @define function roundfraction (); @define function roundunscaled (); @define function runsystem (); +@define function texmfyesno (); @define function wopenin (); @define function wopenout (); diff --git a/source/utils/README b/source/utils/README index 0611350c2..ad01b89e0 100644 --- a/source/utils/README +++ b/source/utils/README @@ -1,10 +1,10 @@ -$Id: README 50715 2019-04-02 22:05:50Z karl $ +$Id: README 51856 2019-08-10 16:06:35Z karl $ Public domain. Originally written 2005 by Karl Berry. Extra utilities we (optionally) compile for TeX Live. See comments in ../texk/README. -asymptote 2.49 - checked 3apr19 +asymptote 2.52 - checked 10aug19 update to TL from CTAN, to include prebuilt doc. see http://tug.org/texlive/build.html#asymptote and tlpkg/bin/tl-update-asy diff --git a/source/utils/configure b/source/utils/configure index d2651db41..fc6322ce4 100755 --- a/source/utils/configure +++ b/source/utils/configure @@ -3194,7 +3194,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 50341 2019-03-11 22:04:24Z karl $ +# $Id: web2c.ac 51577 2019-07-08 06:07:11Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF -- GitLab