From 93e0a6a9deaf76f59b74f0f60d6a628dd21ced3d Mon Sep 17 00:00:00 2001 From: Niraj Thapaliya Date: Wed, 12 Oct 2016 11:18:03 -0600 Subject: [PATCH] Gnu `[` evaluates both sides of a -o condition regardless It doesn't short circuit like we expect, causing trouble when $dir is empty Use shell builtin instead --- shell/completion.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell/completion.zsh b/shell/completion.zsh index cef8afa..cc2ac9c 100644 --- a/shell/completion.zsh +++ b/shell/completion.zsh @@ -44,7 +44,7 @@ __fzf_generic_path_completion() { setopt localoptions nonomatch dir="$base" while [ 1 ]; do - if [ -z "$dir" -o -d ${~dir} ]; then + if [[ -z "$dir" || -d ${~dir} ]]; then leftover=${base/#"$dir"} leftover=${leftover/#\/} [ -z "$dir" ] && dir='.'