summaryrefslogtreecommitdiff
path: root/systems/doc/kpathsea/kpathsea.html
diff options
context:
space:
mode:
Diffstat (limited to 'systems/doc/kpathsea/kpathsea.html')
-rw-r--r--systems/doc/kpathsea/kpathsea.html231
1 files changed, 155 insertions, 76 deletions
diff --git a/systems/doc/kpathsea/kpathsea.html b/systems/doc/kpathsea/kpathsea.html
index cac5c2a91f..701b7141af 100644
--- a/systems/doc/kpathsea/kpathsea.html
+++ b/systems/doc/kpathsea/kpathsea.html
@@ -2,7 +2,7 @@
<html>
<!-- This file documents the Kpathsea library for path searching.
-Copyright (C) 1996-2019 Karl Berry & Olaf Weber.
+Copyright (C) 1996-2020 Karl Berry & Olaf Weber.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -18,7 +18,7 @@ Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by the TeX Users Group. -->
-<!-- Created by GNU Texinfo 6.6, http://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Kpathsea: A library for path searching</title>
@@ -152,7 +152,7 @@ ul.no-bullet {list-style: none}
<li><a id="toc-TeX-or-Metafont-failing-1" href="#TeX-or-Metafont-failing">8.5.4 TeX or Metafont failing</a></li>
</ul></li>
</ul></li>
- <li><a id="toc-Index-1" href="#Index">Index</a></li>
+ <li><a id="toc-Index-1" href="#Index" rel="index">Index</a></li>
</ul>
</div>
@@ -165,8 +165,8 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a
<span id="Kpathsea-library"></span><h1 class="top">Kpathsea library</h1>
<p>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
+March 2020.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="#Introduction" accesskey="1">Introduction</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Overview and history.
@@ -193,7 +193,7 @@ March 2019.
</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Reporting-bugs" accesskey="8">Reporting bugs</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Where and how to report bugs.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="#Index" accesskey="9">Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">General index.
+<tr><td align="left" valign="top">&bull; <a href="#Index" rel="index" accesskey="9">Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">General index.
</td></tr>
</table>
@@ -208,8 +208,8 @@ Next: <a href="#unixtex_002eftp" accesskey="n" rel="next">unixtex.ftp</a>, Previ
<span id="index-introduction"></span>
<span id="index-fundamental-purpose-of-Kpathsea"></span>
-<p>This manual corresponds to version 6.3.1 of the Kpathsea
-library, released in March 2019.
+<p>This manual corresponds to version 6.3.2 of the Kpathsea
+library, released in March 2020.
</p>
<p>The library&rsquo;s fundamental purpose is to return a filename from a list of
directories specified by the user, similar to what shells do when
@@ -230,7 +230,7 @@ this library:
<p>Other software that we do not maintain also uses it.
</p>
<p>Kpathsea is now maintained as part of the TeX Live distribution
-(<a href="http://tug.org/texlive">http://tug.org/texlive</a>), which includes several more
+(<a href="https://tug.org/texlive">https://tug.org/texlive</a>), which includes several more
Kpathsea-using programs. For information on configuration, building,
installing, and more, see <cite><a href="https://tug.org/texinfohtml/tlbuild.html#Top">Building TeX Live</a></cite>.
</p>
@@ -251,7 +251,7 @@ along with any changes you have made, and allow anyone to modify the
library source and distribute their modifications. It does not mean
you have to distribute the source to your program using the library,
although we hope you will. See accompanying files for the text of the
-GNU licenses, or <a href="http2://www.gnu.org/licenses">http2://www.gnu.org/licenses</a>.
+GNU licenses, or <a href="https://gnu.org/licenses">https://gnu.org/licenses</a>.
</p>
<span id="index-TeX-Users-Group"></span>
<p>If you know enough about TeX to be reading this manual, then you (or
@@ -391,19 +391,20 @@ Next: <a href="#Security" accesskey="n" rel="next">Security</a>, Previous: <a hr
<span id="index-www_002etug_002eorg"></span>
<span id="index-ftp_002etug_002eorg"></span>
<p>This
-is <a href="https://tug.org/tex/unixtex.ftp">https://tug.org/tex/unixtex.ftp</a>, last updated 28 November
-2017. Email <a href="mailto:tex-k@tug.org">tex-k@tug.org</a> with comments or questions.
+is <a href="ftp://tug.org/tex/unixtex.ftp">ftp://tug.org/tex/unixtex.ftp</a>, a.k.a.
+<a href="https://tug.org/unixtex.ftp">https://tug.org/unixtex.ftp</a>, last updated 29 February 2020.
+Email <a href="mailto:tex-k@tug.org">tex-k@tug.org</a> with comments or questions.
</p>
<p>The principal free TeX distribution for Unix-like systems is TeX
Live, on the web at <a href="http://tug.org/texlive">http://tug.org/texlive</a>. The pages there
-describe many ways to acquire and.or build TeX, over the Internet
+describe many ways to acquire and/or build TeX, over the Internet
or on physical media, both the sources and precompiled binaries for
many systems, either standalone or as part of various operating system
distributions.
</p>
-<p>Web2c, Kpathsea, Dvips, and Dviljk are no longer released as a
-separate packages. Their sources are now maintained as part of TeX
-Live.
+<p>Web2c, Kpathsea, Dvips, and Dviljk, among others, are no longer
+released as a separate packages. Their sources are now maintained as
+part of TeX Live.
</p>
<span id="index-ftp_002ecs_002estanford_002eedu"></span>
<span id="index-tex_002eweb"></span>
@@ -411,7 +412,7 @@ Live.
<p>The host <tt>ftp.cs.stanford.edu</tt> is the original source for the files
for which Donald Knuth is directly responsible: <samp>tex.web</samp>,
<samp>plain.tex</samp>, etc. However, unless you want to undertake the
-project of building your TeX installation from scratch, it is more
+project of building your TeX system from scratch, it is more
reliable and less work to retrieve these files as part of a larger
package.
</p>
@@ -512,8 +513,8 @@ Next: <a href="#Path-searching" accesskey="n" rel="next">Path searching</a>, Pre
distribution. It conforms to both the GNU coding standards and the
TeX directory structure (TDS) standard. For rationale and further
explanation, please see those documents. The GNU document is
-available from <a href="http://www.gnu.org/prep/standards">http://www.gnu.org/prep/standards</a>. The TDS
-document is available from <a href="http://www.mirror.ctan.org/tds">http://www.mirror.ctan.org/tds</a>
+available from <a href="https://gnu.org/prep/standards">https://gnu.org/prep/standards</a>. The TDS
+document is available from <a href="http://mirror.ctan.org/tds">http://mirror.ctan.org/tds</a>
(see <a href="#unixtex_002eftp">unixtex.ftp</a>).
</p>
<p>In short, here is a skeleton of the default directory structure,
@@ -604,6 +605,12 @@ Next: <a href="#TeX-support" accesskey="n" rel="next">TeX support</a>, Previous:
provides. For information about searching for particular file types
(e.g., TeX fonts), see the next chapter.
</p>
+<span id="index-translations_002c-of-path-searching-description"></span>
+<p>This section, with minor differences, has been translated into several
+other languages (Chinese, Spanish, Russian, Japanese, French, German,
+&hellip;) as part of the TeX Live guide; see
+<a href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a> for links.
+</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="#Searching-overview" accesskey="1">Searching overview</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Basic scheme for searching.
</td></tr>
@@ -740,12 +747,16 @@ Next: <a href="#Path-expansion" accesskey="n" rel="next">Path expansion</a>, Pre
In the order in which Kpathsea looks for them:
</p>
<ol>
-<li> <span id="index-environment-variable_002c-source-for-path"></span>
-A user-set environment variable, e.g., <code>TEXINPUTS</code>.
+<li> <span id="index-_002d_002dcnf_002dline_002c-source-for-path"></span>
+A command-line option such as <code>--cnf-line</code>, available in
+<samp>kpsewhich</samp> and most TeX engines. See <a href="#Path-searching-options">Path searching options</a>.
+
+<span id="index-environment-variable_002c-source-for-path"></span>
+<p>A user-set environment variable, e.g., <code>TEXINPUTS</code>.
Environment variables with an underscore and the program name appended
override; for example, <code>TEXINPUTS_latex</code> overrides <code>TEXINPUTS</code>
if the program being run is named &lsquo;<samp>latex</samp>&rsquo;.
-
+</p>
</li><li> A program-specific configuration file, e.g., an &lsquo;<samp>S /a:/b</samp>&rsquo; line in
Dvips&rsquo; <samp>config.ps</samp> (see <a href="https://tug.org/texinfohtml/dvips.html#Config-files">Config files</a> in <cite>Dvips</cite>).
@@ -812,12 +823,12 @@ mentions most features. The format of <samp>texmf.cnf</samp> files follows:
<li> <span id="index-comments_002c-in-texmf_002ecnf"></span>
Comments start with &lsquo;<samp>%</samp>&rsquo;, either at the beginning of a line or
preceded by whitespace, and continue to the end of the line. That is,
-as with most shells, a &lsquo;<samp>%</samp>&rsquo; in the &ldquo;middle&rdquo; of a value does not
+similar to most shells, a &lsquo;<samp>%</samp>&rsquo; in the &ldquo;middle&rdquo; of a value does not
start a comment. Examples:
<div class="example">
<pre class="example">% this is a comment
-var = a%b % but the value of var will be &quot;a%b&quot;.
+var = a%b % but the value of var will be &quot;a%b&quot;
</pre></div>
</li><li> <span id="index-blank-lines_002c-in-texmf_002ecnf"></span>
@@ -831,7 +842,7 @@ A &lsquo;<samp>\</samp>&rsquo; at the end of a line acts as a continuation chara
the next line is appended. Whitespace at the beginning of continuation
lines is not ignored.
-</li><li> Each remaining line must look like
+</li><li> Each remaining line will look like:
<div class="example">
<pre class="example"><var>variable</var> <span class="roman">[</span>. <var>progname</var><span class="roman">]</span> <span class="roman">[</span>=<span class="roman">]</span> <var>value</var>
@@ -843,23 +854,32 @@ lines is not ignored.
The <var>variable</var> name may contain any character other than whitespace,
&lsquo;<samp>=</samp>&rsquo;, or &lsquo;<samp>.</samp>&rsquo;, but sticking to &lsquo;<samp>A-Za-z_</samp>&rsquo; is safest.
-</li><li> If &lsquo;<samp>.<var>progname</var></samp>&rsquo; is present, the definition only
-applies if the program that is running is named (i.e., the last
-component of <code>argv[0]</code> is) <var>progname</var> or
-<samp><var>progname</var>.{exe,bat,cmd,...}</samp>. Most notably, this allows
-different flavors of TeX to have different search paths.
+</li><li> <span id="index-_002eprogname-qualifier-in-texmf_002ecnf"></span>
+If &lsquo;<samp>.<var>progname</var></samp>&rsquo; is present (preceding spaces are
+ignored), the definition only applies if the program that is running
+is named (i.e., the last component of <code>argv[0]</code> is)
+<var>progname</var> or <samp><var>progname</var>.{exe,bat,cmd,...}</samp>. Most
+notably, this allows different flavors of TeX to have different
+search paths. The <var>progname</var> value is used literally, without
+variable or other expansions.
</li><li> <span id="index-right_002dhand-side-of-variable-assignments"></span>
-<var>value</var> may contain any characters except &lsquo;<samp>%</samp>&rsquo; and &lsquo;<samp>@</samp>&rsquo;.
-(These restrictions are only necessary because of the processing done
-on <samp>texmf.cnf</samp> at build time, so you can stick those characters
-in after installation if you have to.) The
-&lsquo;<samp>$<var>var</var>.<var>prog</var></samp>&rsquo; feature is not available on the
+Considered as strings, <var>value</var> may contain any character.
+However, in practice most <samp>texmf.cnf</samp> values are related to path
+expansion, and since various special characters are used in expansion,
+such as braces and commas, they cannot be used in directory names.
+
+<p>The &lsquo;<samp>$<var>var</var>.<var>prog</var></samp>&rsquo; feature is not available on the
right-hand side; instead, you must use an additional variable (see
-below for example). A &lsquo;<samp>;</samp>&rsquo; in <var>value</var> is translated to
-&lsquo;<samp>:</samp>&rsquo; if running under Unix; this is useful to write a single
-<samp>texmf.cnf</samp> which can be used under both Unix and Windows.
-
+below for example).
+</p>
+<span id="index-_003b-translated-to-_003a-in-texmf_002ecnf"></span>
+<p>A &lsquo;<samp>;</samp>&rsquo; in <var>value</var> is translated to &lsquo;<samp>:</samp>&rsquo; if running under
+Unix, in order to have a single <samp>texmf.cnf</samp> that can support both
+Unix and Windows systems. This translation happens with any value, not
+just search paths, but fortunately in practice &lsquo;<samp>;</samp>&rsquo; is not needed
+in other values.
+</p>
</li><li> All definitions are read before anything is expanded, so you can
use variables before they are defined (like Make, unlike most other
programs).
@@ -880,13 +900,33 @@ TEXINPUTS.latex = $latex2e_inputs
<span id="index-shell-scripts-as-configuration-files"></span>
<span id="index-configuration-files-as-shell-scripts_002e"></span>
-<p>This format has obvious similarities to Bourne shell scripts&mdash;change
-the comment character to <code>#</code>, disallow spaces around the
-<code>=</code>, and get rid of the <code>.<var>name</var></code> convention, and it
-could be run through the shell. However, there seemed little
-advantage in this, since all the information would have to passed back
-to Kpathsea and parsed there anyway, since the <code>sh</code> process
-couldn&rsquo;t affect its parent&rsquo;s environment.
+<p>This format has some similarity to Bourne shell scripts&mdash;change the
+comment character to <code>#</code>, disallow spaces around the <code>=</code>,
+and get rid of the <code>.<var>name</var></code> convention, and it could be run
+through the shell. However, there seemed little advantage in this,
+since all the information would have to passed back to Kpathsea and
+parsed there anyway, since the <code>sh</code> process couldn&rsquo;t affect its
+parent&rsquo;s environment.
+</p>
+<span id="index-_003d-omitted-in-texmf_002ecnf-and-misparsing"></span>
+<p>The combination of spaces being ignored before the <code>.</code> of a
+program name qualifer and the optional &lsquo;<samp>=</samp>&rsquo; for the assignment has
+an unexpected consequence: if the value begins with a literal &lsquo;<samp>.</samp>&rsquo;
+and the &lsquo;<samp>=</samp>&rsquo; is omitted, the intended value is interpreted as a
+program name. For example, a line <code>var .;/some/path</code> is taken as
+an empty value for <code>var</code> running under the program named
+&lsquo;<samp>;/some/path</samp>&rsquo;. To diagnose this, Kpathsea warns if the program
+name contains a path separator or other special character. The
+simplest way to avoid the problem is to use the <code>=</code>.
+</p>
+<p>Exactly when a character will be considered special or act as itself
+depends on the context in which it is used. The rules are inherent in
+the multiple levels of interpretation of the configuration (parsing,
+expansion, search, &hellip;) and so cannot be concisely stated,
+unfortunately. There is no general escape mechanism; in particular,
+&lsquo;<samp>\</samp>&rsquo; is not an &ldquo;escape character&rdquo; in <samp>texmf.cnf</samp> files.
+When it comes choosing directory names for installation, it is safest to
+avoid them all.
</p>
<span id="index-cnf_002ec"></span>
<p>The implementation of all this is in <samp>kpathsea/cnf.c</samp>.
@@ -1207,11 +1247,11 @@ one of those 501 entries. Therein lies slowness.
<p>Unfortunately, in some cases files in leaf directories are
<code>stat</code>&rsquo;d: if the path specification is, say,
&lsquo;<samp>$TEXMF/fonts//pk//</samp>&rsquo;, then files in a subdirectory
-&lsquo;<samp>&hellip;/pk</samp>&rsquo;, even if it is a leaf, are checked. The reason cannot
-be explained without reference to the implementation, so read
+&lsquo;<samp>&hellip;/pk</samp>&rsquo;, even if it is a leaf, are checked. The reason
+cannot be explained without reference to the implementation, so read
<samp>kpathsea/elt-dirs.c</samp> (search for &lsquo;<samp>may descend</samp>&rsquo;) if you are
-curious. And if you can find a way to <em>solve</em> the problem, please
-let me know.
+curious. And if you find a way to solve the problem, please let me
+know.
</p>
<span id="index-elt_002ddirs_002ec-1"></span>
<p>Subdirectory expansion is implemented in the source file
@@ -1274,8 +1314,8 @@ case.
</p>
<p>This same problematic scenario has always existed on Windows, but for
whatever reason, it has become much more common since Apple also went
-to a case-insensitive filesystem. Hence the move to change the
-Kpathsea behavior now.
+to a case-insensitive filesystem. Hence the relatively late change
+to the Kpathsea behavior.
</p>
<span id="index-Windows-and-casefolding"></span>
<p>The fallback case-insensitive search is omitted at compile-time on
@@ -1382,7 +1422,7 @@ find `cat /tmp/texdirlist` -iname somefile.tex -print &lt;/tmp/texdirlist
Kpathsea would be a lot of error-prone trouble for something that is
only useful for debugging. If your <code>find</code> does not support
<code>-iname</code>, you can get GNU Find from
-<a href="https://www.gnu.org/software/findutils">https://www.gnu.org/software/findutils</a>.
+<a href="https://gnu.org/software/findutils">https://gnu.org/software/findutils</a>.
</p>
<p>The casefolding search is implemented in the source file
<samp>kpathsea/pathsearch.c</samp>. Two implementation points:
@@ -1416,7 +1456,7 @@ Next: <a href="#Invoking-kpsewhich" accesskey="n" rel="next">Invoking kpsewhich<
<p>Kpathsea goes to some lengths to minimize disk accesses for searches
(see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). Nevertheless, in practice searching
-each possible directory in typical TeX installations takes an
+every possible directory in typical TeX installations takes an
excessively long time.
</p>
<p>Therefore, Kpathsea can use an externally-built <em>filename
@@ -1424,8 +1464,7 @@ database</em> file named <samp>ls-R</samp> that maps files to directories, thus
avoiding the need to exhaustively search the disk.
</p>
<p>A second database file <samp>aliases</samp> allows you to give additional
-names to the files listed in <samp>ls-R</samp>. This can be helpful to adapt
-to &ldquo;8.3&rdquo; filename conventions in source files.
+names to the files listed in <samp>ls-R</samp>.
</p>
<p>The <samp>ls-R</samp> and <samp>aliases</samp> features are implemented in the
source file <samp>kpathsea/db.c</samp>.
@@ -1709,6 +1748,28 @@ case-insensitive, it merely means that Kpathsea does not do any
casefolding itself.
</p>
</dd>
+<dt>&lsquo;<samp>--cnf-line=<var>str</var></samp>&rsquo;</dt>
+<dd><span id="index-_002d_002dcnf_002dline"></span>
+<p>Parse <var>str</var> as if it were a line in the <samp>texmf.cnf</samp>
+configuration file (see <a href="#Config-files">Config files</a>), overriding settings in the
+actual configuration files, and also in the environment (see <a href="#Path-sources">Path sources</a>). This is implemented by making any settings from <var>str</var>
+in the environment, overwriting any value already there. Thus, an
+extra colon in a &lsquo;<samp>--cnf-line</samp>&rsquo; value will refer to the value from
+a configuration file, not a user-set environment variable.
+</p>
+<p>Furthermore, any variable set from <var>str</var> will also be set with the
+program name suffix. For example, <code>pdftex
+--cnf-line=TEXINPUTS=/foo:</code> will set both <code>TEXINPUTS</code> and
+<code>TEXINPUTS_pdftex</code> in the environment (and the value will be
+<samp>/foo</samp> followed by the setting from <samp>texmf.cnf</samp>, ignoring
+any user-set <code>TEXINPUTS</code>).
+</p>
+<p>This behavior is desirable because, in practice, many variables in the
+distributed <samp>texmf.cnf</samp> are program-specific, and the intuitive
+behavior is for values set on the command line with <code>--cnf-line</code>
+to override them.
+</p>
+</dd>
<dt>&lsquo;<samp>--dpi=<var>num</var></samp>&rsquo;</dt>
<dd><span id="index-_002d_002ddpi_003dnum"></span>
<span id="index-_002dD-num"></span>
@@ -2119,8 +2180,8 @@ current system in the expansion.
a Unix-ish system) &lsquo;<samp>.:/home/karl</samp>&rsquo;, supposing the latter is the
current user&rsquo;s home directory. Note that the &lsquo;<samp>;</samp>&rsquo; in the source
value, as commonly used in <samp>texmf.cnf</samp>, has changed to a
-&lsquo;<samp>:</samp>&rsquo;, as the normal path separator on the current system. (On a
-Windows-ish system, the &lsquo;<samp>;</samp>&rsquo; would remain.)
+&lsquo;<samp>:</samp>&rsquo;, as the normal path separator on the current system. On a
+Windows-ish system, the &lsquo;<samp>;</samp>&rsquo; would remain.
</p>
</dd>
<dt>&lsquo;<samp>--var-value=<var>variable</var></samp>&rsquo;</dt>
@@ -2136,7 +2197,7 @@ default is not changed) &lsquo;<samp>1</samp>&rsquo;.
</p>
<p>Example to contrast with &lsquo;<samp>--var-brace-value</samp>&rsquo;: &lsquo;<samp>FOO='.;~'
kpsewhich --var-value=FOO</samp>&rsquo; outputs &lsquo;<samp>.;~</samp>&rsquo;, i.e., the same as the
-input value.
+input value, on all systems.
</p>
</dd>
</dl>
@@ -2263,7 +2324,7 @@ suffix &lsquo;<samp>.bib</samp>&rsquo;.
<dt>&lsquo;<samp>bltxml</samp>&rsquo;</dt>
<dd><span id="index-_002ebltxml"></span>
<span id="index-BLTXMLINPUTS"></span>
-<p>(BibLaTeXML bibliography files for Biber, <a href="http://ctan.org/pkg/biber">http://ctan.org/pkg/biber</a>)
+<p>(BibLaTeXML bibliography files for Biber, <a href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>)
<code>BLTXMLINPUTS</code>
suffix &lsquo;<samp>.bltxml</samp>&rsquo;.
</p>
@@ -2281,7 +2342,7 @@ suffix &lsquo;<samp>.bst</samp>&rsquo;.
<dd><span id="index-_002edll"></span>
<span id="index-_002eso"></span>
<span id="index-CLUAINPUTS"></span>
-<p>(dynamic libraries for Lua, <a href="http://ctan.org/pkg/luatex">http://ctan.org/pkg/luatex</a>)
+<p>(dynamic libraries for Lua, <a href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>)
<code>CLUAINPUTS</code>
suffixes &lsquo;<samp>.dll</samp>&rsquo; and &lsquo;<samp>.so</samp>&rsquo;.
</p>
@@ -2572,7 +2633,7 @@ additional suffix &lsquo;<samp>.pro</samp>&rsquo;.
<dt>&lsquo;<samp>ris</samp>&rsquo;</dt>
<dd><span id="index-_002eris"></span>
<span id="index-RISINPUTS"></span>
-<p>(RIS bibliography files, primarily for Biber, <a href="http://ctan.org/pkg/biber">http://ctan.org/pkg/biber</a>)
+<p>(RIS bibliography files, primarily for Biber, <a href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>)
<code>RISINPUTS</code>
suffix &lsquo;<samp>.ris</samp>&rsquo;.
</p>
@@ -3676,7 +3737,7 @@ separate library.)
different systems. You will almost certainly want to use Autoconf and
probably Automake for configuring and building your software if you use
Kpathsea; I strongly recommend using Autoconf and Automake regardless.
-They are available from <a href="http://www.gnu.org/software">http://www.gnu.org/software</a>.
+They are available from <a href="https://gnu.org/software">https://gnu.org/software</a>.
</p>
<hr>
@@ -3864,7 +3925,7 @@ me to understand. Please also include a <samp>ChangeLog</samp> entry.
<span id="index-gdb_002c-recommended"></span>
If the bug involved is an actual crash (i.e., core dump), it is easy
and useful to include a stack trace from a debugger (I recommend the
-GNU debugger GDB (<a href="http://www.gnu.org/software/gdb">http://www.gnu.org/software/gdb</a>). If the
+GNU debugger GDB (<a href="https://gnu.org/software/gdb">https://gnu.org/software/gdb</a>). If the
cause is apparent (a <code>NULL</code> value being dereferenced, for
example), please send the details along. If the program involved is
TeX or Metafont, and the crash is happening at apparently-sound
@@ -3891,7 +3952,7 @@ Next: <a href="#Debugging" accesskey="n" rel="next">Debugging</a>, Previous: <a
<span id="index-tex_002dk_0040tug_002eorg"></span>
<p>Web2c and Kpathsea in general are discussed on the mailing list
<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>. You can subscribe and peruse the archives on
-the web <a href="http://lists.tug.org/tex-k">http://lists.tug.org/tex-k</a>.
+the web <a href="https://lists.tug.org/tex-k">https://lists.tug.org/tex-k</a>.
</p>
<p>You do not need to join to submit a report, nor will it affect whether
you get a response. Be aware that large data files are sometimes
@@ -3900,7 +3961,7 @@ the list.
</p>
<p>If you are looking for general TeX help, such as how to install a
full TeX system or how to use LaTeX, please see
-<a href="http://tug.org/begin.html">http://tug.org/begin.html</a>.
+<a href="https://tug.org/begin.html">https://tug.org/begin.html</a>.
</p>
<hr>
@@ -4290,7 +4351,7 @@ M lqmed
the wrong device, most likely <code>mktexpk</code>&rsquo;s built-in guess for the
mode is wrong, and you should override it as above.
</p>
-<p>See <a href="http://ctan.org/pkg/modes">http://ctan.org/pkg/modes</a> for a list of resolutions and mode
+<p>See <a href="https://ctan.org/pkg/modes">https://ctan.org/pkg/modes</a> for a list of resolutions and mode
names for most devices (additional submissions are welcome).
</p>
<span id="index-_002e2602gf"></span>
@@ -4380,11 +4441,15 @@ Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>,
&nbsp;
<a class="summary-letter" href="#Index_cp_symbol-8"><b>:</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-9"><b>\</b></a>
+<a class="summary-letter" href="#Index_cp_symbol-9"><b>;</b></a>
+ &nbsp;
+<a class="summary-letter" href="#Index_cp_symbol-10"><b>=</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-10"><b>{</b></a>
+<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-11"><b>~</b></a>
+<a class="summary-letter" href="#Index_cp_symbol-12"><b>{</b></a>
+ &nbsp;
+<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a>
&nbsp;
<br>
<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
@@ -4450,6 +4515,8 @@ Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>,
<tr><th id="Index_cp_symbol-3">-</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dall"><code>--all</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dcasefold_002dsearch"><code>--casefold-search</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcnf_002dline"><code>--cnf-line</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcnf_002dline_002c-source-for-path"><code>&lsquo;<samp>--cnf-line</samp>&rsquo;, source for path</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dcolor_003dtty"><code>--color=tty</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002ddebug_003dnum"><code>--debug=<var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002ddpi_003dnum"><code>--dpi=<var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
@@ -4528,6 +4595,7 @@ Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>,
<tr><td></td><td valign="top"><a href="#index-_002epool-1"><code>.pool</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002epool-2"><code>.pool</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002epro"><code>.pro</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002eprogname-qualifier-in-texmf_002ecnf"><code>.<var>progname</var> <span class="roman">qualifier in <samp>texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002erhosts_002c-writable-by-TeX"><code>.rhosts<span class="roman">, writable by TeX</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002eris"><code>.ris</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002esfd"><code>.sfd</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
@@ -4560,15 +4628,21 @@ Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>,
<tr><td></td><td valign="top"><a href="#index-_003a-may-not-be-_003a"><code>: <span class="roman">may not be :</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_003a_003a-expansion"><code>:: <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Index_cp_symbol-9">\</th><td></td><td></td></tr>
+<tr><th id="Index_cp_symbol-9">;</th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_003b-translated-to-_003a-in-texmf_002ecnf"><code>; <span class="roman">translated to &lsquo;<samp>:</samp>&rsquo; in <samp>texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th id="Index_cp_symbol-10">=</th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_003d-omitted-in-texmf_002ecnf-and-misparsing"><code>= <span class="roman">omitted in <samp>texmf.cnf</samp> and misparsing</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th id="Index_cp_symbol-11">\</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-_005c_002c-line-continuation-in-texmf_002ecnf"><code>\<span class="roman">, line continuation in <samp>texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_005copenin"><code>\openin</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_005cspecial_002c-suppressing-warnings-about"><code>\special<span class="roman">, suppressing warnings about</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Index_cp_symbol-10">{</th><td></td><td></td></tr>
+<tr><th id="Index_cp_symbol-12">{</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-_007b-expansion"><code>{ <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Index_cp_symbol-11">~</th><td></td><td></td></tr>
+<tr><th id="Index_cp_symbol-13">~</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-_007e-expansion"><code>~ <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr>
@@ -5101,6 +5175,7 @@ Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>,
<tr><td></td><td valign="top"><a href="#index-tolerance-for-glyph-lookup">tolerance for glyph lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-trailing-_002f-in-home-directory">trailing &lsquo;<samp>/</samp>&rsquo; in home directory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-trailing-colons">trailing colons</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-translations_002c-of-path-searching-description">translations, of path searching description</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-TRFONTS"><code>TRFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-trick-for-detecting-leaf-directories">trick for detecting leaf directories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-trojan-horse-attack">trojan horse attack</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
@@ -5176,11 +5251,15 @@ Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>,
&nbsp;
<a class="summary-letter" href="#Index_cp_symbol-8"><b>:</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-9"><b>\</b></a>
+<a class="summary-letter" href="#Index_cp_symbol-9"><b>;</b></a>
+ &nbsp;
+<a class="summary-letter" href="#Index_cp_symbol-10"><b>=</b></a>
+ &nbsp;
+<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-10"><b>{</b></a>
+<a class="summary-letter" href="#Index_cp_symbol-12"><b>{</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-11"><b>~</b></a>
+<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a>
&nbsp;
<br>
<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>