From 9d5a3fe0407101e2443499e4b95bca33f7a9a9ca Mon Sep 17 00:00:00 2001 From: rupa Date: Fri, 10 Aug 2018 12:14:43 -0400 Subject: [PATCH] declare some local vars unconditionally So they don't pick up if e.g. tmux defines $echo --- z.sh | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/z.sh b/z.sh index 258ca61..c78f3cb 100644 --- a/z.sh +++ b/z.sh @@ -110,20 +110,21 @@ _z() { else # list/go + local echo fnd last list opt typ while [ "$1" ]; do case "$1" in - --) while [ "$1" ]; do shift; local fnd="$fnd${fnd:+ }$1";done;; - -*) local opt=${1:1}; while [ "$opt" ]; do case ${opt:0:1} in - c) local fnd="^$PWD $fnd";; - e) local echo=1;; + --) while [ "$1" ]; do shift; fnd="$fnd${fnd:+ }$1";done;; + -*) opt=${1:1}; while [ "$opt" ]; do case ${opt:0:1} in + c) fnd="^$PWD $fnd";; + e) echo=1;; h) echo "${_Z_CMD:-z} [-cehlrtx] args" >&2; return;; - l) local list=1;; - r) local typ="rank";; - t) local typ="recent";; + l) list=1;; + r) typ="rank";; + t) typ="recent";; x) sed -i -e "\:^${PWD}|.*:d" "$datafile";; esac; opt=${opt:1}; done;; - *) local fnd="$fnd${fnd:+ }$1";; - esac; local last=$1; [ "$#" -gt 0 ] && shift; done - [ "$fnd" -a "$fnd" != "^$PWD " ] || local list=1 + *) fnd="$fnd${fnd:+ }$1";; + esac; last=$1; [ "$#" -gt 0 ] && shift; done + [ "$fnd" -a "$fnd" != "^$PWD " ] || list=1 # if we hit enter on a completion just go there case "$last" in