diff options
author | Karl Berry <karl@freefriends.org> | 2008-04-30 18:30:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-04-30 18:30:52 +0000 |
commit | 1bbe1e023af3abf0bce342ecfd49b09053ca7b28 (patch) | |
tree | ab2775b3e00a4ce0f38528484f21931189e9823f /Build/source/texk/kpathsea/kpathsea.info | |
parent | 763297a5e1bde6cb95513b12bbaa8b3a8c1b6894 (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.info | 259 |
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 |