Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Bug in _path_files?
- X-seq: zsh-workers 17066
- From: Danek Duvall <duvall@xxxxxxxxxxx>
- To: Zsh Workers <zsh-workers@xxxxxxxxxxxxxx>
- Subject: Bug in _path_files?
- Date: Thu, 2 May 2002 12:13:19 -0700
- Mail-followup-to: Danek Duvall <duvall@xxxxxxxxxxx>, Zsh Workers <zsh-workers@xxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
I have strange behavior in zsh 4.0.3 when completing directories in the
stack:
% cd /usr/share/zsh; cd 4.0.3; cd functions
% dirs -v
0 /usr/share/zsh/4.0.3/functions
1 /usr/share/zsh/4.0.3
2 /usr/share/zsh
3 ~
% cd ~-2/^D
4.0.1-pre-2/ 4.0.3/ site-functions/
% cd ~+2/^D
functions/
% cd ~2/^D
functions/
The third form is the one I use all the time, but it seems to be wrong
here (it should have the output of the first form). I do have
pushdminus set, but it shouldn't make a difference, although it does.
The following patch fixes my symptoms and is correct as far as I can see
it. The idea being that without the +/-, you should jump directly to
the entry in $dirstack, rather than counting from one end or the other,
regardless of the value of pushdminus.
--- _path_files-4.0.3 Wed Oct 24 12:31:52 2001
+++ _path_files Thu May 2 12:01:46 2002
@@ -233,7 +233,7 @@
else
tmp1=$tmp1[2,-1]
fi
- [[ -o pushdminus ]] && tmp1=$(( $#dirstack - $tmp1 ))
+ [[ -o pushdminus && "$linepath" == [-+]* ]] && tmp1=$(( $#dirstack - $tmp1 ))
if (( ! tmp1 )); then
realpath=$PWD/
elif [[ tmp1 -le $#dirstack ]]; then
Thanks,
Danek
Messages sorted by:
Reverse Date,
Date,
Thread,
Author