diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Functions/Zftp/zfautocheck | 20 |
2 files changed, 17 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index 39403bf70..1d24d2e11 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,13 @@ 2007-07-03 Clint Adams <clint@zsh.org> + * 23645: Functions/Zftp/zfautocheck: use == instead of =. + * 23644: Completion/Unix/Command/_git: merge in git remote completion from Nikolai Weibull's repository. 2007-07-02 Clint Adams <clint@zsh.org> - * 23639: Completion/Unix/Command/_git: merge in git quiltimport + * 23640: Completion/Unix/Command/_git: merge in git quiltimport completion from Nikolai Weibull's repository. * 23639: Completion/Unix/Command/_git: merge in git merge-tree diff --git a/Functions/Zftp/zfautocheck b/Functions/Zftp/zfautocheck index abb994061..e53fde8d2 100644 --- a/Functions/Zftp/zfautocheck +++ b/Functions/Zftp/zfautocheck @@ -11,23 +11,31 @@ # command, which implies we are looking for something so should stay open # for it. -# Remember the old session: zflastsession will be overwritten by +# Remember the old location: will be overwritten by # a successful open. -local lastsession=$zflastsession +local lastloc=$zfconfig[lastloc_$ZFTP_SESSION] + +# Don't print out user messages when re-opening the connection. +local ZFTP_VERBOSE=${ZFTP_VERBOSE//0} + +# Unset the delay counter from the progress meter in case there was an +# abnormal exit. +(( ${+zftpseconds} )) && unset zftpseconds if [[ -z $ZFTP_HOST ]]; then zfopen || return 1 - [[ $1 = *d* ]] || do_close=1 + [[ $1 == *d* ]] || do_close=1 elif zftp test 2>/dev/null; then return 0 else zfopen || return 1 fi -if [[ $1 = *n* ]]; then +if [[ $1 == *n* ]]; then return 0 -elif [[ -n $lastsession && $ZFTP_HOST = ${lastsession%%:*} ]]; then - zfcd ${lastsession#*:} +elif [[ -n $lastloc && $ZFTP_HOST == ${lastloc%%:*} ]]; then + # don't print directory since we're just going back where we were. + zfcd ${lastloc#*:} >& /dev/null fi # } |