From: Jonathan Nieder Date: Mon, 30 Jan 2012 19:28:34 GMT Subject: Re: [PATCH v2 4/4] completion: be nicer with zsh Message-ID: <20120130192834.GA28920@burratino> In-Reply-To: Felipe Contreras wrote: > What would you rather use? > > [ "$__git_merge_strategies" ] && > __git_merge_strategies=$(__git_list_merge_strategies) > > That's 90 characters long. Although much better without the 2>/dev/null. > > if [ "$__git_merge_strategies" ]; then > __git_merge_strategies=$(__git_list_merge_strategies) > fi Neither, since they both have the test inverted. But I prefer to explicitly use the "-n" operator. [[ -n $__git_merge_strategies ]] || __git_merge_strategies=$(__git_list_merge_strategies) seems as fine as any other spelling to me. It means "either this value has already been computed and cached, or we need to compute it".