summaryrefslogtreecommitdiff
path: root/Build/source/texk/kpathsea/kpathsea.info
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-04-30 18:30:52 +0000
committerKarl Berry <karl@freefriends.org>2008-04-30 18:30:52 +0000
commit1bbe1e023af3abf0bce342ecfd49b09053ca7b28 (patch)
treeab2775b3e00a4ce0f38528484f21931189e9823f /Build/source/texk/kpathsea/kpathsea.info
parent763297a5e1bde6cb95513b12bbaa8b3a8c1b6894 (diff)
try_std_extension_first config value, and recognize .sty/.cls/etc. as common TeX suffixes
git-svn-id: svn://tug.org/texlive/trunk@7752 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/kpathsea/kpathsea.info')
-rw-r--r--Build/source/texk/kpathsea/kpathsea.info259
1 files changed, 135 insertions, 124 deletions
diff --git a/Build/source/texk/kpathsea/kpathsea.info b/Build/source/texk/kpathsea/kpathsea.info
index 7fdce091cab..e1184e7ebe1 100644
--- a/Build/source/texk/kpathsea/kpathsea.info
+++ b/Build/source/texk/kpathsea/kpathsea.info
@@ -1,18 +1,7 @@
-INFO-DIR-SECTION TeX
-START-INFO-DIR-ENTRY
-This is kpathsea.info, produced by makeinfo version 4.11 from kpathsea.texi.
+This is kpathsea.info, produced by makeinfo version 4.12 from
+kpathsea.texi.
-* Kpathsea: (kpathsea). File lookup along search paths.
-* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
-* mktexfmt: (kpathsea)mktex scripts. Format (fmt/base/mem) generation.
-* mktexlsr: (kpathsea)Filename database. Update ls-R.
-* mktexmf: (kpathsea)mktex scripts. MF source generation.
-* mktexpk: (kpathsea)mktex scripts. PK bitmap generation.
-* mktextex: (kpathsea)mktex scripts. TeX source generation.
-* mktextfm: (kpathsea)mktex scripts. TeX font metric generation.
-END-INFO-DIR-ENTRY
-
- This file documents the Kpathsea library for path searching.
+This file documents the Kpathsea library for path searching.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2007, 2008 Karl Berry & Olaf Weber.
@@ -31,6 +20,18 @@ 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 Free Software Foundation.
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* Kpathsea: (kpathsea). File lookup along search paths.
+* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
+* mktexfmt: (kpathsea)mktex scripts. Format (fmt/base/mem) generation.
+* mktexlsr: (kpathsea)Filename database. Update ls-R.
+* mktexmf: (kpathsea)mktex scripts. MF source generation.
+* mktexpk: (kpathsea)mktex scripts. PK bitmap generation.
+* mktextex: (kpathsea)mktex scripts. TeX source generation.
+* mktextfm: (kpathsea)mktex scripts. TeX font metric generation.
+END-INFO-DIR-ENTRY
+

File: kpathsea.info, Node: Top, Next: Introduction, Up: (dir)
@@ -39,7 +40,7 @@ Kpathsea library
This manual documents how to install and use the Kpathsea library for
filename lookup. It corresponds to version 3.5.6dev, released in
-March 2008.
+May 2008.
* Menu:
@@ -60,7 +61,7 @@ File: kpathsea.info, Node: Introduction, Next: Installation, Prev: Top, Up:
**************
This manual corresponds to version 3.5.6dev of the Kpathsea library,
-released in March 2008.
+released in May 2008.
The library's fundamental purpose is to return a filename from a
list of directories specified by the user, similar to what shells do
@@ -2074,10 +2075,10 @@ same directory, the directory in which a file is found is floated to the
top of the directory list.)
The "file must exist" condition comes into play with VF files and
-input files read by the TeX `\openin' command. These files may not
-exist (consider `cmr10.vf'), and so it would be wrong to search the
-disk for them. Therefore, if you fail to update `ls-R' when you
-install a new VF file, it will never be found.
+input files read by the TeX `\openin' command. These files might very
+well not exist (consider `cmr10.vf'), and so it would be wrong to
+search the disk for them. Therefore, if you fail to update `ls-R' when
+you install a new VF file, it will not be found.
Each path element is checked in turn: first the database, then the
disk. If a match is found, the search stops and the result is
@@ -2100,10 +2101,10 @@ absolute or explicitly relative, i.e., starts with `/' or `./' or
Ordinarily, if Kpathsea tries to access a file or directory that
cannot be read, it gives a warning. This is so you will be alerted to
-directories or files that accidentally lack read permission (for
-example, a `lost+found'). If you prefer not to see these warnings,
-include the value `readable' in the `TEX_HUSH' environment variable or
-config file value.
+directories or files that accidentally lack any read permission (for
+example, a `lost+found' directory). If you prefer not to see these
+warnings, include the value `readable' in the `TEX_HUSH' environment
+variable or config file value.
This generic path searching algorithm is implemented in
`kpathsea/pathsearch.c'. It is employed by a higher-level algorithm
@@ -2460,16 +2461,13 @@ File: kpathsea.info, Node: Filename database, Next: Invoking kpsewhich, Prev:
==============================
Kpathsea goes to some lengths to minimize disk accesses for searches
-(*note Subdirectory expansion::). Nevertheless, at installations with
-enough directories, searching each possible directory for a given file
-can take an excessively long time (depending on the speed of the disk,
-whether it's NFS-mounted, how patient you are, etc.).
+(*note Subdirectory expansion::). Nevertheless, in practice searching
+each possible directory in typical TeX installations takes an
+excessively long time.
- In practice, a font tree containing the standard PostScript and PCL
-fonts is large enough for searching to be noticeably slow on typical
-systems these days. Therefore, Kpathsea can use an externally-built
-"database" file named `ls-R' that maps files to directories, thus
-avoiding the need to exhaustively search the disk.
+ Therefore, Kpathsea can use an externally-built "filename database"
+file named `ls-R' that maps files to directories, thus avoiding the
+need to exhaustively search the disk.
A second database file `aliases' allows you to give additional names
to the files listed in `ls-R'. This can be helpful to adapt to "8.3"
@@ -3171,21 +3169,31 @@ searches are the exception, as described in the next section).
Here is the search strategy for a file NAME:
1. If the file format defines default suffixes, and the suffix of
NAME name is not already a known suffix for that format, try the
- name with each default appended, and use alternative names found
- in the fontmaps if necessary. We postpone searching the disk as
- long as possible. Example: given `foo.sty', look for `foo.sty.tex'
- before `foo.sty'. This is unfortunate, but allows us to find
- `foo.bar.tex' before `foo.bar' if both exist and we were given
- `foo.bar'.
+ name with each default appended, and use alternative names found in
+ the fontmaps if necessary. Example: given `foo.bar', look for
+ `foo.bar.tex'.
2. Search for NAME, and if necessary for alternative names found in
- the fontmaps. Again we avoid searching the disk if possible.
- Example: given `foo', we look for `foo'.
+ the fontmaps. Example: given `foo.bar', we also look for
+ `foo.bar'.
3. If the file format defines a program to invoke to create missing
files, run it (*note mktex scripts::).
- This is implemented in the routine `kpse_find_file' in
+ The order in which we search for "suffixed" name (item 1) or the
+"as-is" name (item 2) is controlled by the `try_std_extension_first'
+configuration value. The default set in `texmf.cnf' is true, since
+common suffixes are already recognized: `babel.sty' will only look for
+`babel.sty', not `babel.sty.tex', regardless of this setting.
+
+ When the suffix is unknown (e.g., `foo.bar'), both names are always
+tried; the difference is the order in which they are tried.
+
+ `try_std_extension_first' only affects names being looked up which
+*already* have an extension. A name without an extension (e.g., `tex
+story') will always have an extension added first.
+
+ This algorithm is implemented in the routine `kpse_find_file' in
`kpathsea/tex-file.c'. You can watch it in action with the debugging
options (*note Debugging::).
@@ -3997,6 +4005,7 @@ Index
* expansion, tilde: Tilde expansion. (line 6)
* expansion, variable: Variable expansion. (line 6)
* explicitly relative filenames: Searching overview. (line 52)
+* extensions, filename: File lookup. (line 23)
* externally-built filename database: Filename database. (line 6)
* extra colons: Default expansion. (line 6)
* extraclean Make target: Cleaning up. (line 23)
@@ -4144,7 +4153,7 @@ Index
* kpse_fallback_font: Fallback font. (line 15)
* kpse_find_*: Calling sequence. (line 60)
* kpse_find_file <1>: Calling sequence. (line 60)
-* kpse_find_file: File lookup. (line 26)
+* kpse_find_file: File lookup. (line 36)
* kpse_find_glyph_format: Glyph lookup. (line 26)
* kpse_format_info: Calling sequence. (line 45)
* kpse_format_info_type: Debugging. (line 61)
@@ -4474,6 +4483,7 @@ Index
* striptypeface: mktex configuration. (line 105)
* subdirectory searching: Subdirectory expansion.
(line 6)
+* suffixes, filename: File lookup. (line 23)
* suggestions, making: Introduction. (line 27)
* Sun 2: History. (line 12)
* Sun OpenWin patches: ShellWidgetClass. (line 29)
@@ -4519,7 +4529,7 @@ Index
* TeX support: TeX support. (line 6)
* TeX Users Group: Introduction. (line 39)
* tex-archive@math.utah.edu: Mailing lists. (line 25)
-* tex-file.c: File lookup. (line 26)
+* tex-file.c: File lookup. (line 36)
* tex-file.h: Programming overview.
(line 16)
* tex-glyph.c: Glyph lookup. (line 26)
@@ -4601,6 +4611,7 @@ Index
* trick for detecting leaf directories: Subdirectory expansion.
(line 22)
* trojan horse attack: Security. (line 10)
+* try_std_extension_first: File lookup. (line 23)
* TTFONTS: Supported file formats.
(line 181)
* tug.org: unixtex.ftp. (line 6)
@@ -4688,85 +4699,85 @@ Index

Tag Table:
-Node: Top1555
-Node: Introduction2202
-Node: History4182
-Node: Installation8274
-Node: Simple installation9064
-Node: Custom installation12647
-Node: Disk space13821
-Node: Kpathsea application distributions14705
-Node: Changing search paths15820
-Node: Default path features17002
-Node: Default path generation19138
-Node: Running configure20581
-Node: configure shells21632
-Node: configure options22684
-Node: configure environment24191
-Node: configure scenarios25993
-Node: Shared library27579
-Node: Running make28593
-Node: Installing files30640
-Node: Cleaning up32587
-Node: Filename database generation33635
-Node: mktex scripts34202
-Node: mktex configuration35479
-Node: mktex script names41298
-Node: mktex script arguments42689
-Node: Installation testing43579
-Node: Security43943
-Node: TeX directory structure46510
-Node: unixtex.ftp50932
-Node: Electronic distribution52947
-Node: CD-ROM distribution55712
-Node: Other TeX packages56682
-Node: Reporting bugs57978
-Node: Bug checklist58718
-Node: Mailing lists62420
-Node: Debugging63779
-Node: Logging68851
-Node: Common problems70721
-Node: Unable to find files71552
-Node: Slow path searching73963
-Node: Unable to generate fonts75340
-Node: TeX or Metafont failing77849
-Node: Empty Makefiles79727
-Node: XtStrings80957
-Node: dlopen81793
-Node: ShellWidgetClass82611
-Node: Pointer combination warnings84243
-Node: Path searching84632
-Node: Searching overview85279
-Node: Path sources88651
-Node: Config files89722
-Node: Path expansion93367
-Node: Default expansion94316
-Node: Variable expansion96386
-Node: Tilde expansion97789
-Node: Brace expansion98769
-Node: KPSE_DOT expansion99874
-Node: Subdirectory expansion100387
-Node: Filename database102736
-Node: ls-R104050
-Node: Filename aliases106944
-Node: Database format108122
-Node: Invoking kpsewhich109135
-Node: Path searching options110012
-Node: Auxiliary tasks116661
-Node: Standard options118482
-Node: TeX support118802
-Node: Supported file formats120093
-Node: File lookup127241
-Node: Glyph lookup128532
-Node: Basic glyph lookup129659
-Node: Fontmap130538
-Node: Fallback font133155
-Node: Suppressing warnings134120
-Node: Programming135225
-Node: Programming overview135738
-Node: Calling sequence138014
-Node: Program-specific files143043
-Node: Programming with config files144081
-Node: Index145381
+Node: Top1552
+Node: Introduction2197
+Node: History4175
+Node: Installation8267
+Node: Simple installation9057
+Node: Custom installation12640
+Node: Disk space13814
+Node: Kpathsea application distributions14698
+Node: Changing search paths15813
+Node: Default path features16995
+Node: Default path generation19131
+Node: Running configure20574
+Node: configure shells21625
+Node: configure options22677
+Node: configure environment24184
+Node: configure scenarios25986
+Node: Shared library27572
+Node: Running make28586
+Node: Installing files30633
+Node: Cleaning up32580
+Node: Filename database generation33628
+Node: mktex scripts34195
+Node: mktex configuration35472
+Node: mktex script names41291
+Node: mktex script arguments42682
+Node: Installation testing43572
+Node: Security43936
+Node: TeX directory structure46503
+Node: unixtex.ftp50925
+Node: Electronic distribution52940
+Node: CD-ROM distribution55705
+Node: Other TeX packages56675
+Node: Reporting bugs57971
+Node: Bug checklist58711
+Node: Mailing lists62413
+Node: Debugging63772
+Node: Logging68844
+Node: Common problems70714
+Node: Unable to find files71545
+Node: Slow path searching73956
+Node: Unable to generate fonts75333
+Node: TeX or Metafont failing77842
+Node: Empty Makefiles79720
+Node: XtStrings80950
+Node: dlopen81786
+Node: ShellWidgetClass82604
+Node: Pointer combination warnings84236
+Node: Path searching84625
+Node: Searching overview85272
+Node: Path sources88668
+Node: Config files89739
+Node: Path expansion93384
+Node: Default expansion94333
+Node: Variable expansion96403
+Node: Tilde expansion97806
+Node: Brace expansion98786
+Node: KPSE_DOT expansion99891
+Node: Subdirectory expansion100404
+Node: Filename database102753
+Node: ls-R103807
+Node: Filename aliases106701
+Node: Database format107879
+Node: Invoking kpsewhich108892
+Node: Path searching options109769
+Node: Auxiliary tasks116418
+Node: Standard options118239
+Node: TeX support118559
+Node: Supported file formats119850
+Node: File lookup126998
+Node: Glyph lookup128725
+Node: Basic glyph lookup129852
+Node: Fontmap130731
+Node: Fallback font133348
+Node: Suppressing warnings134313
+Node: Programming135418
+Node: Programming overview135931
+Node: Calling sequence138207
+Node: Program-specific files143236
+Node: Programming with config files144274
+Node: Index145574

End Tag Table