about summary refs log tree commit diff
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
 
 # }