GNU Info

Info Node: (kpathsea.info)Default expansion

(kpathsea.info)Default expansion


Next: Variable expansion Up: Path expansion
Enter node , (file) or (file)node

Default expansion
-----------------

  If the highest-priority search path (Note: Path sources) contains an
"extra colon" (i.e., leading, trailing, or doubled), Kpathsea inserts
at that point the next-highest-priority search path that is defined.
If that inserted path has an extra colon, the same happens with the
next-highest.  (An extra colon in the compile-time default value has
unpredictable results, so installers beware.)

  For example, given an environment variable setting

     setenv TEXINPUTS /home/karl:

and a `TEXINPUTS' value from `texmf.cnf' of

     .:$TEXMF//tex

then the final value used for searching will be:

     /home/karl:.:$TEXMF//tex

  Since Kpathsea looks for multiple configuration files, it would be
natural to expect that (for example) an extra colon in `./texmf.cnf'
would expand to the path in `$TEXMF/texmf.cnf'.  Or, with Dvips'
configuration files, that an extra colon in `config.$PRINTER' would
expand to the path in `config.ps'.  This doesn't happen.  It's not
clear this would be desirable in all cases, and trying to devise a way
to specify the path to which the extra colon should expand seemed truly
baroque.

  Technicality: Since it would be useless to insert the default value in
more than one place, Kpathsea changes only one extra `:' and leaves any
others in place (they will eventually be ignored).  Kpathsea checks
first for a leading `:', then a trailing `:', then a doubled `:'.

  You can trace this by debugging "paths" (Note: Debugging).  Default
expansion is implemented in the source file `kpathsea/kdefault.c'.


automatically generated by info2www version 1.2.2.9