summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Functions/Zftp/zfautocheck20
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
# }