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.

Reply via email to