diff --git a/source/build-aux/config.guess b/source/build-aux/config.guess
index 41b8b854c0247ffe94169f1ec567fe5eeb1adba0..97ad0733304d51c825cb2abbc5db47d31d32c0ef 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 4b23391ee666aeb4a6d2f7b1636859af5b4e2c9d..067629f107a7808e971206a1761623444d3b7fe7 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 1f5291248147e9c045d15d8f36e7cc2e3bc041be..7eb81910bf4da813943f08fec7b7433b2229ebea 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 59e87232c4ee2f309963e2c936dc598b21782561..3b71c77562cb3d0f2a4a65510f5c3bcf7ed37cb8 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 010d0f6b1ff370cb8496976897fe6215da0fff51..3ea08d701b643e37e6fa0a7eb539f0f58b3cf29a 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 ceb780a6145705f17828b19d6e26b5ae14f36e63..f572ac5e2b625dd4fc512a4093611bf8de783d34 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 6b1383cc1ca900314afa24a81fdcdb5d4acc7a31..d3624b7f4480b6875e1768995b8b06e4a3ba3cae 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 19819a135385866ba90d68946a7ad3a526c6912f..3259b1f6af713d043aa3e6e8e8ea5f0e652af343 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 19a7b67b654103c34802481bbe2baa4dc2bfbd57..62726b7aff026ac11b939258ab1e781d60ab2e82 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 18f37651c36da9cfab903ce3e38f8296f9133979..467172b4eadca541ff82a6211c3961e0baf7c583 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 8213ddb088065b03977baedcef80b520d85c118a..15bf7ee82816ee91b16afcd364fe2684bd2a67fa 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 60a5df93e6de98d27d9eb1294fb3924ff7206f97..def8f97c77e74c9c0b48f3dd2d800a101983717c 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 44c966841beaad32f6ca96f32435e41291476d78..e218964b5b67b660d287258b39ee71ca9af91691 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 d5d49858ae5069b7be053c6ccfc5aabb14885272..19aca80756bb5ee83243af67642c1834291eed1a 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 cbaa101867e5167f04ad74d3bc0de385b9ced409..ff8fdbe87251d087f430604596972844494f4491 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 1be21f3988908deb73e49a12dca592761a36f664..119ebb5a9f10a819129cabde10e70d526da875de 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 596424b466ddf8ed18db6c5298fa278e671ef50a..b5c1c43afbd91e59d504183763b26f9aee8c69b9 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 626e240b82d1995905faab03ad6d0c6192945e8f..335f13b45f42b37de0e02c298d8099a945004c00 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 411a68246a45f7200efa0e8b83e58ea5d0f37e4b..76f92254edb38d6c456f67fffcb24cc6fa8e7147 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 b2c15a1fdd1a96d63e55c6f073ca16964c426f4b..f62906dec0bc464cd57e8f5a4168adb8495c2a8b 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 bc5db8a5d504048feb1980e8e4a1354bbadd0436..45ff85d6ae473fac59bb9c3835732ee7054f120c 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 647845d18c0de325d886d99460cb76f583bee7ef..09a97d0c3811aa00aca776f8489d253c62b9322f 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 ce6ba6ffcf57f40c6902a7a1b4340809c44bec66..70864c6b88ddef4adc1b1bbe984f54a269ac76ed 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 dec9a1b709644bf1f90e799b3227917cdd5d1e18..7ceadbb89e66f9af958ce75b8fd3bfb1f84d2506 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 a270ea4de6f18d50f522ff2c49f13187d2396e78..1c6943fa980d5f2a9bf2ba1f86de548c3aaedfee 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 b53eb432a7e4f5a2eba7358d14da7d19f58d060b..bc574d82b099a0bacaafd41f571fcef9dd55517a 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 1c3e0ed5d41ba926091f6668cf3a73d9a8681c44..b515055a54a21a0789dd0901f05e2b86e9715423 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 60374d8ec0187a217d5fdc50b44aea0bf6c6598c..ccebfc5f901c7ffd0a9fe7778d17d99326fb6992 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 9403f7e81a17ca596708a63a0a45fddaf1a175c4..f96cb41aaf8e278b66b2dc4cd2d1e9c82a583d59 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 ee8abb948984b76452e389c7b3e972d6348a03e3..871d811b33aa68e54822992aa21ca979aa404f17 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 cd40e324decf5d366e21e683139eaf4d4e113f05..6fa8a2133451720b2b1628d6a92b095280bc6b8b 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 68adeb1192a0a68538caef53e53130e5359f1739..a73e50181f6e342a570f2a2f8a2d7fa5307137be 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 31f423508c581b7b42ea9976cecb6169b6b0b0a9..039218b7d1264f2257f4cf5d801c94dc72e52a77 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 9d8303777ca702d8f5a5e128a2585c5b720ad07a..6f704ab7ca1ec1941d8888f3229ce6d73e87afe4 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 670ec4ec019032be2c28f156acddc9bd3d6f3cde..ad90435ff0fe8abc6295f5b4ec7fe0fa143776e5 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 c61010acee7d6832068254bc927d12b6311eab31..9a34ad16c192104cdff973c9f2b61f05e8d1f719 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 d8a6d23cf4c27a74011388da82abc188cf743796..4e72d1b2ba9f80375c25245c31aa0dad7e0f14ff 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 d4383062135e81fd4719d3fcfa36b07fa7378677..24c87f042cb53f4a70d9a5064691658ba60e1388 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 4e1ae088a916550a9fac289cec13305bdc66e6de..6f7302d91fa812d4ce142df26715cc1b5786791b 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 445ab949c10971088d5cf06fb4536da7ac71f075..8260b0883b65926d5ab55219bc02fb531d0ef1d7 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 152787d77b30d7e6db9979401ddfeabd4a2c5e4d..e22dccfdf4ab1338501136fd8f624873631994c9 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 a49d19d71c185e54adc5bd20e19b1f4f9929f73f..c33ca0d9f47a31673259cc523af5099c81e0a662 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 598c2b304561262b707674ed1d114e39a3da3c71..ae1334d61e211240eba892d15f889d67449302c4 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 f8358656c1995e34dec6b243f10af833bb427510..1e720340c42f99add296d0f2978a5320a52ff80a 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 e5b0d45dd36eac40cde9e978b889b86d5a6a5068..639ff619a6c83b26ebe14a8a959ed44c2b675048 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 897e0b51804173e536cb1df8d9375c88bfb453fe..35e35a8e3cf2484b48728fc1763564cc71e2fe50 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 4a624aced2ae54df23810ce333ae552de94fff42..d00b9113c36a317585b9d8d09bb233cbf93adc29 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 0611350c29a1f3bf5bb7785caca2dbb56b394093..ad01b89e094d4c048d83d4ca576c6ff742549ffd 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 d2651db413dd048f0486d09bff4cea6ad0033892..fc6322ce4948a5a6113036d6690b94eb8b7bcf52 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