diff options
author | Karl Berry <karl@freefriends.org> | 2008-01-14 01:23:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-01-14 01:23:37 +0000 |
commit | 13e12240ca1e2232a10f302e2d030e8eeaa1354b (patch) | |
tree | 38d32ed09f94c6b23b6c7201299a915ba425e3dd /Build | |
parent | 72a8586805bfdecad5305807e1dad56cbee24156 (diff) |
make ~ expand to USERPROFILE on Windows
git-svn-id: svn://tug.org/texlive/trunk@6222 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r-- | Build/source/texk/kpathsea/ChangeLog | 7 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/kpathsea.info | 178 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/kpathsea.texi | 9 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/tilde.c | 20 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/tilde.h | 14 |
5 files changed, 120 insertions, 108 deletions
diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog index 116cbae073b..15aff986899 100644 --- a/Build/source/texk/kpathsea/ChangeLog +++ b/Build/source/texk/kpathsea/ChangeLog @@ -1,3 +1,10 @@ +2008-01-14 Karl Berry <karl@tug.org> + + * tilde.c (HOMEVAR): new #define; "USERPROFILE" on Windows, + "HOME" else. + * tilde.h: adjust comments. + * kpathsea.texi (Tilde expansion): document this. + 2008-01-13 Karl Berry <karl@tug.org> * remote.c-no: remove this stub. Suggestion from Martin. diff --git a/Build/source/texk/kpathsea/kpathsea.info b/Build/source/texk/kpathsea/kpathsea.info index 067e63e8037..a50692f7aab 100644 --- a/Build/source/texk/kpathsea/kpathsea.info +++ b/Build/source/texk/kpathsea/kpathsea.info @@ -14,7 +14,7 @@ END-INFO-DIR-ENTRY This file documents the Kpathsea library for path searching. Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -2005, 2007 Karl Berry & Olaf Weber. +2005, 2007, 2008 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 @@ -38,7 +38,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 -May 2007. +January 2008. * Menu: @@ -59,7 +59,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 May 2007. +released in January 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 @@ -2309,7 +2309,8 @@ File: kpathsea.info, Node: Tilde expansion, Next: Brace expansion, Prev: Vari --------------------- A leading `~' in a path element is replaced by the value of the -environment variable `HOME', or `.' if `HOME' is not set. +environment variable `HOME', or `.' if `HOME' is not set. On Windows, +the environment variable `USERPROFILE' is checked instead of `HOME'. A leading `~USER' in a path element is replaced by USER's home directory from the system `passwd' database. @@ -3627,7 +3628,7 @@ Index * .web: Supported file formats. (line 43) * / may not be /: Searching overview. (line 13) -* /, trailing in home directory: Tilde expansion. (line 18) +* /, trailing in home directory: Tilde expansion. (line 19) * //: Subdirectory expansion. (line 6) * /afs/... , installing into: Installing files. (line 32) @@ -4306,7 +4307,7 @@ Index * retrieving TeX: unixtex.ftp. (line 6) * right-hand side of variable assignments: Config files. (line 44) * Rokicki, Tom: History. (line 12) -* root user: Tilde expansion. (line 18) +* root user: Tilde expansion. (line 19) * runtime configuration files: Config files. (line 6) * runtime debugging: Debugging. (line 6) * Sauter fonts, and dynamic source creation: mktex scripts. (line 6) @@ -4478,11 +4479,11 @@ Index * TFMFONTS: Supported file formats. (line 172) * tilde expansion: Tilde expansion. (line 6) -* tilde.c: Tilde expansion. (line 24) +* tilde.c: Tilde expansion. (line 25) * time system call: Logging. (line 15) * tolerance for glyph lookup: Basic glyph lookup. (line 15) * total disk space: Disk space. (line 6) -* trailing / in home directory: Tilde expansion. (line 18) +* trailing / in home directory: Tilde expansion. (line 19) * trailing colons: Default expansion. (line 6) * TRFONTS: Supported file formats. (line 177) @@ -4515,6 +4516,7 @@ Index * USE_TEXMFVAR: mktex configuration. (line 122) * USE_VARTEXFONTS: mktex configuration. (line 112) * Usenet TeX newsgroup: Mailing lists. (line 29) +* USERPROFILE, as ~ expansion: Tilde expansion. (line 6) * varfonts: mktex configuration. (line 106) * variable expansion: Variable expansion. (line 6) * variable.c: Variable expansion. (line 32) @@ -4574,85 +4576,85 @@ Index Tag Table: -Node: Top1469 -Node: Introduction2114 -Node: History4092 -Node: Installation8184 -Node: Simple installation8974 -Node: Custom installation12557 -Node: Disk space13731 -Node: Kpathsea application distributions14615 -Node: Changing search paths15730 -Node: Default path features16912 -Node: Default path generation19048 -Node: Running configure20491 -Node: configure shells21542 -Node: configure options22594 -Node: configure environment24101 -Node: configure scenarios25903 -Node: Shared library27489 -Node: Running make28503 -Node: Installing files30550 -Node: Cleaning up32497 -Node: Filename database generation33545 -Node: mktex scripts34112 -Node: mktex configuration35069 -Node: mktex script names40613 -Node: mktex script arguments41711 -Node: Installation testing42601 -Node: Security42965 -Node: TeX directory structure45532 -Node: unixtex.ftp49954 -Node: Electronic distribution51969 -Node: CD-ROM distribution54734 -Node: Other TeX packages55704 -Node: Reporting bugs57000 -Node: Bug checklist57740 -Node: Mailing lists61442 -Node: Debugging62801 -Node: Logging67873 -Node: Common problems69743 -Node: Unable to find files70574 -Node: Slow path searching72985 -Node: Unable to generate fonts74362 -Node: TeX or Metafont failing76871 -Node: Empty Makefiles78749 -Node: XtStrings79979 -Node: dlopen80815 -Node: ShellWidgetClass81633 -Node: Pointer combination warnings83265 -Node: Path searching83654 -Node: Searching overview84301 -Node: Path sources87673 -Node: Config files88744 -Node: Path expansion92144 -Node: Default expansion93093 -Node: Variable expansion95163 -Node: Tilde expansion96566 -Node: Brace expansion97464 -Node: KPSE_DOT expansion98569 -Node: Subdirectory expansion99082 -Node: Filename database101431 -Node: ls-R102745 -Node: Filename aliases105639 -Node: Database format106817 -Node: Invoking kpsewhich107830 -Node: Path searching options108707 -Node: Auxiliary tasks113174 -Node: Standard options114848 -Node: TeX support115168 -Node: Supported file formats116459 -Node: File lookup123607 -Node: Glyph lookup124898 -Node: Basic glyph lookup126025 -Node: Fontmap126904 -Node: Fallback font129521 -Node: Suppressing warnings130486 -Node: Programming131591 -Node: Programming overview132104 -Node: Calling sequence134380 -Node: Program-specific files139409 -Node: Programming with config files140447 -Node: Index141747 +Node: Top1475 +Node: Introduction2124 +Node: History4106 +Node: Installation8198 +Node: Simple installation8988 +Node: Custom installation12571 +Node: Disk space13745 +Node: Kpathsea application distributions14629 +Node: Changing search paths15744 +Node: Default path features16926 +Node: Default path generation19062 +Node: Running configure20505 +Node: configure shells21556 +Node: configure options22608 +Node: configure environment24115 +Node: configure scenarios25917 +Node: Shared library27503 +Node: Running make28517 +Node: Installing files30564 +Node: Cleaning up32511 +Node: Filename database generation33559 +Node: mktex scripts34126 +Node: mktex configuration35083 +Node: mktex script names40627 +Node: mktex script arguments41725 +Node: Installation testing42615 +Node: Security42979 +Node: TeX directory structure45546 +Node: unixtex.ftp49968 +Node: Electronic distribution51983 +Node: CD-ROM distribution54748 +Node: Other TeX packages55718 +Node: Reporting bugs57014 +Node: Bug checklist57754 +Node: Mailing lists61456 +Node: Debugging62815 +Node: Logging67887 +Node: Common problems69757 +Node: Unable to find files70588 +Node: Slow path searching72999 +Node: Unable to generate fonts74376 +Node: TeX or Metafont failing76885 +Node: Empty Makefiles78763 +Node: XtStrings79993 +Node: dlopen80829 +Node: ShellWidgetClass81647 +Node: Pointer combination warnings83279 +Node: Path searching83668 +Node: Searching overview84315 +Node: Path sources87687 +Node: Config files88758 +Node: Path expansion92158 +Node: Default expansion93107 +Node: Variable expansion95177 +Node: Tilde expansion96580 +Node: Brace expansion97560 +Node: KPSE_DOT expansion98665 +Node: Subdirectory expansion99178 +Node: Filename database101527 +Node: ls-R102841 +Node: Filename aliases105735 +Node: Database format106913 +Node: Invoking kpsewhich107926 +Node: Path searching options108803 +Node: Auxiliary tasks113270 +Node: Standard options114944 +Node: TeX support115264 +Node: Supported file formats116555 +Node: File lookup123703 +Node: Glyph lookup124994 +Node: Basic glyph lookup126121 +Node: Fontmap127000 +Node: Fallback font129617 +Node: Suppressing warnings130582 +Node: Programming131687 +Node: Programming overview132200 +Node: Calling sequence134476 +Node: Program-specific files139505 +Node: Programming with config files140543 +Node: Index141843 End Tag Table diff --git a/Build/source/texk/kpathsea/kpathsea.texi b/Build/source/texk/kpathsea/kpathsea.texi index efdcb8357e0..afadd5953d8 100644 --- a/Build/source/texk/kpathsea/kpathsea.texi +++ b/Build/source/texk/kpathsea/kpathsea.texi @@ -3,7 +3,7 @@ @settitle Kpathsea: A library for path searching @set version 3.5.6dev -@set month-year May 2007 +@set month-year January 2008 @c Define new indices for commands, filenames, and options. @defcodeindex cm @@ -35,7 +35,7 @@ This file documents the Kpathsea library for path searching. Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2007 Karl Berry & Olaf Weber. +2004, 2005, 2007, 2008 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 @@ -675,8 +675,11 @@ Variable expansion is implemented in the source file @cindex expansion, tilde @vindex HOME@r{, as ~ expansion} +@vindex USERPROFILE@r{, as ~ expansion} A leading @samp{~} in a path element is replaced by the value of the -environment variable @code{HOME}, or @file{.} if @code{HOME} is not set. +environment variable @code{HOME}, or @file{.} if @code{HOME} is not +set. On Windows, the environment variable @code{USERPROFILE} is +checked instead of @code{HOME}. A leading @samp{~@var{user}} in a path element is replaced by @var{user}'s home directory from the system @file{passwd} database. diff --git a/Build/source/texk/kpathsea/tilde.c b/Build/source/texk/kpathsea/tilde.c index b92bfe12e38..7d01533d4fc 100644 --- a/Build/source/texk/kpathsea/tilde.c +++ b/Build/source/texk/kpathsea/tilde.c @@ -1,7 +1,7 @@ /* tilde.c: Expand user's home directories. - Copyright 1997, 98, 2005, Olaf Weber. - Copyright 1993, 95, 96, 97 Karl Berry. + Copyright 1997, 1998, 2005, Olaf Weber. + Copyright 1993, 1995, 1996, 1997, 2008 Karl Berry. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -13,11 +13,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ + You should have received a copy of the GNU Lesser General Public License + along with this library; if not, see <http://www.gnu.org/licenses/>. */ #include <kpathsea/config.h> @@ -28,6 +25,11 @@ #include <pwd.h> #endif +#ifdef WIN32 +#define HOMEVAR "USERPROFILE" +#else +#define HOMEVAR "HOME" +#endif /* If NAME has a leading ~ or ~user, Unix-style, expand it to the user's home directory, and return a new malloced string. If no ~, or no @@ -62,7 +64,7 @@ kpse_tilde_expand P1C(const_string, name) /* If a bare tilde, return the home directory or `.'. (Very unlikely that the directory name will do anyone any good, but ... */ } else if (name[1] == 0) { - home = getenv ("HOME"); + home = getenv (HOMEVAR); if (!home) { home = "."; } @@ -72,7 +74,7 @@ kpse_tilde_expand P1C(const_string, name) Should really check for doubled intermediate slashes, too. */ } else if (IS_DIR_SEP (name[1])) { unsigned c = 1; - home = getenv ("HOME"); + home = getenv (HOMEVAR); if (!home) { home = "."; } diff --git a/Build/source/texk/kpathsea/tilde.h b/Build/source/texk/kpathsea/tilde.h index 81550e72ca3..138a151a0ce 100644 --- a/Build/source/texk/kpathsea/tilde.h +++ b/Build/source/texk/kpathsea/tilde.h @@ -1,6 +1,6 @@ /* tilde.h: Declare tilde expander. - Copyright 1993 Karl Berry. + Copyright 1993, 2008 Karl Berry. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -12,11 +12,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ + You should have received a copy of the GNU Lesser General Public License + along with this library; if not, see <http://www.gnu.org/licenses/>. */ #ifndef KPATHSEA_TILDE_H #define KPATHSEA_TILDE_H @@ -25,8 +22,9 @@ #include <kpathsea/types.h> -/* Replace a leading ~ or ~name in FILENAME with getenv ("HOME") or - name's home directory, respectively. FILENAME may not be null. */ +/* Replace a leading ~ or ~NAME in FILENAME with getenv ("HOME"), or + getenv ('USERPROFILE") on Windows, or with NAME's home directory, + respectively. Excise trailing slashes. FILENAME may not be null. */ extern string kpse_tilde_expand P1H(const_string filename); |