Nguyễn Thái Ngọc Duy <[email protected]> writes:
> if [ -z "$options" ]; then
> + local nocache=
> # leading and trailing spaces are significant to make
> # option removal work correctly.
> - options=" $incl $(__git ${cmd/_/ } --git-completion-helper) "
> + options=" $incl $(__git ${cmd/_/ } --git-completion-helper) "
> || nocache=t
> +
> for i in $excl; do
> options="${options/ $i / }"
> done
Is there a point in doing this loop if we are not going to eval
after all? IOW...
> - eval "$var=\"$options\""
> + test -n "$nocache" || eval "$var=\"$options\""
> fi
... I am wondering why it is not more like this
if options=" $incl $(__git ${cmd/_/ } --git-completion-helper) "
then
for i in $excl
do
options=...
done
eval "$var=..."
fi
or just return from the function instead of introducing and setting
a new variable, as only remaining thing the function does is to call
__gitcomp with $options, but we know that we are giving up on
completing this round.