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

PATCH: Re: pws-10 RE: zsh-3.1.5-pws-9: _path_files and symbolic links



Andrej Borsenkow wrote:

> Just tried on vanilla pws-10. Copied Core, Base, Builtins, sourced compinit.
> The result is the same. What I have is:
> 
> itsrm1% ls -F /
> SAM/         config/      lib@         shlib@       tools@       var@
> X11/         dev/         lost+found/  stand/       u/
> bck/         dgn/         mnt/         svr4@        unix*
> bin@         etc/         opt@         tftpboot/    unix.old*
> boot/        export/      proc/        tmp@         usr@
> cdrom/       home@        sbin/        tmp_mnt/     utmp/
> 
> itsrm1% ls -l /usr
> lrwxrwxrwx   1 root     root           7 Feb 22 17:50 /usr -> SAM/usr
> 
> itsrm1% ls -ldF /usr/lib/locale/TZ
> drwxr-xr-x   9 bin      bin         2048 Feb 23 13:50 /usr/lib/locale/TZ/
> 
> itsrm1% cd /S/u/l/l/T =>  is correctly completed to
> itsrm1% cd /SAM/usr/lib/locale/T
> 
> but
> 
> itsrm1% cd /u/l/l/T
> results in beep.

The question is what one can find under `/u/'. If there is anything
matching `l/l/T' the behavior might be correct (since it can't expand
`u' to `usr' then).
I tried it with my `/var' which is a link to `/usr/val' and it works
nicely.

> Oh, just found:
> 
> drwxr-xr-x   9 bin      bin         2048 Feb 23 13:50 /usr/lib/locale/TZ/
> drwxr-xr-x   3 root     other       1024 Feb 22 18:19
> /usr/lib/locale/Transparent/

What's wrong with that? The string you showed above correctly stops
at the `T'.

>From 5569:

> And even more funny ...
> 
> itsrm1% cat ~/.zshrc
> #!/tools/bin/zsh
> fpath=("$fpath[@]" ~/.zsh.d/comp.d/*)
> [[ -f ~/.zsh.d/comp.d/Core/compinit ]] && source
> ~/.zsh.d/comp.d/Core/compinit
> 
> itsrm1% ls src
> bzip2-0.9.0c      make-3.77         zsh-3.1.5-pws-10
> gzip-1.2.4        sudo.v1.5.8       zsh-3.1.5-pws-9
> 
> itsrm1% cd s/z/C/C>TAB> => B-E-E-P
> itsrm1% cd ./s/z/C/C<TAB> =>
> itsrm1% cd ./src/zsh-3.1.5-pws-10/Completion/Co

That's the result of not testing ig `cdpath' is set.

Bye
 Sven

diff -u oc/Builtins/_cd Completion/Builtins/_cd
--- oc/Builtins/_cd	Mon Mar  1 13:12:40 1999
+++ Completion/Builtins/_cd	Mon Mar  1 13:54:51 1999
@@ -1,3 +1,7 @@
 #defcomp cd
 
-_files -W cdpath -g '*(-/)'
+if (( $#cdpath )); then
+  _files -W cdpath -/
+else
+  _files -/
+fi

--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author