Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] fix zfdir -r
- X-seq: zsh-workers 35299
- From: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH] fix zfdir -r
- Date: Wed, 27 May 2015 14:22:13 +0800
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mail-followup-to: zsh-workers@xxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
First, This patch try to fix the problem that 'zfdir -r' works just
like 'zfdir': they both show contents of current directory.
Then, with this patch if 'newdir' in 'zfdir -r newdir' is different
to the dir in last 'zfdir dir', the effect of '-r' will be canceled.
---
Functions/Zftp/zfdir | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Functions/Zftp/zfdir b/Functions/Zftp/zfdir
index 4818dc9..5ec0ebf 100644
--- a/Functions/Zftp/zfdir
+++ b/Functions/Zftp/zfdir
@@ -62,7 +62,7 @@ for (( i = 1; i <= $#argv; i++ )); do
fi
done
-if [[ $# -eq 0 ]]; then
+if [[ $# -eq 0 && $redir -ne 1 ]]; then
# Cache it in the current directory file. This means that repeated
# calls to zfdir with no arguments always use a cached file.
if [[ -z $curdir ]]; then
@@ -79,11 +79,12 @@ else
fi
file=$otherdir
newargs="$*"
- if [[ -f $file && $redir != 1 && $force -ne 1 ]]; then
+ if [[ -f $file && -n $newargs && $force -ne 1 ]]; then
# Don't use the cached file if the arguments changed.
+ # Even in zfdir -r new_args ...
[[ $newargs = $zfconfig[otherargs_$ZFTP_SESSION] ]] || rm -f $file
fi
- zfconfig[otherargs_$ZFTP_SESSION]=$newargs
+ [[ -n $newargs ]] && zfconfig[otherargs_$ZFTP_SESSION]=$newargs
fi
if [[ $force -eq 1 ]]; then
--
1.9.3
Messages sorted by:
Reverse Date,
Date,
Thread,
Author