Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Bug in _path_files?



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