Mercurial > gnulib
changeset 37221:336fcfecc05e
gnulib-tool: protect against CDPATH
* gnulib-tool: Many "cd" built-in functions print a directory name
to stdout when CDPATH is set, e.g.,
$ bash -c 'CDPATH=/; cd tmp'
/tmp
Unset it, when possible. Prompted by a comment from Bruce Korb.
author | Jim Meyering <meyering@fb.com> |
---|---|
date | Mon, 28 Oct 2013 16:08:16 -0700 |
parents | 9b560a24dd4e |
children | e7fa9ea5d6b6 |
files | ChangeLog gnulib-tool |
diffstat | 2 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Oct 28 15:25:25 2013 -0700 +++ b/ChangeLog Mon Oct 28 16:08:16 2013 -0700 @@ -1,5 +1,12 @@ 2013-10-28 Jim Meyering <meyering@fb.com> + gnulib-tool: protect against CDPATH + * gnulib-tool: Many "cd" built-in functions print a directory name + to stdout when CDPATH is set, e.g., + $ bash -c 'CDPATH=/; cd tmp' + /tmp + Unset it, when possible. Prompted by a comment from Bruce Korb. + maint.mk: restore functionality removed by recent change... Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from the context of a shallow-cloned gnulib repository: "git describe"
--- a/gnulib-tool Mon Oct 28 15:25:25 2013 -0700 +++ b/gnulib-tool Mon Oct 28 16:08:16 2013 -0700 @@ -898,6 +898,9 @@ shift fi +# Unset CDPATH. Otherwise, output from 'cd dir' can surprise callers. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + # Command-line option processing. # Removes the OPTIONS from the arguments. Sets the variables: # - mode one of: list, find, import, add-import, remove-import,