Re: [PATCH] bash-completion: Support running with set -u in bash 4.0
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 6, 2010, 19:29 UTC
- Message-ID
- <7vtystfdu5.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20100306181655.GA2261@progeny.tock>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 6 quoted lines
> From: Thomas Nilsson <thomas.nilsson@unixangst.com> > Date: Tue, 23 Feb 2010 12:13:00 +0100 > > Starting with bash 4.0-beta, under "set -u" semantics, accessing > undefined local variables is now an error. Some user environments > enable this setting in the interactive shell, with unpleasant results:
Unfortunate but necessary, it seems.
Show 9 quoted lines
> @@ -2181,7 +2181,7 @@ _git ()
> c=$((++c))
> done
>
> - if [ -z "$command" ]; then
> + if [ -z "${command-}" ]; then
> case "${COMP_WORDS[COMP_CWORD]}" in
> --*) __gitcomp "
> --paginateWhy not this patch, instead of the above hunk?
Also if we initialize __git_dir with an empty string on the same line, I think we can lose "${__git_dir-}" ugliness in __gitdir () function.
contrib/completion/git-completion.bash | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index fe93747..3a65156 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -2167,7 +2167,7 @@ _git_tag () _git () { - local i c=1 command __git_dir + local i c=1 command="" __git_dir while [ $c -lt $COMP_CWORD ]; do i="${COMP_WORDS[c]}"