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

Re: _path_files and _cd with explicit glob pattern



Andrej Borsenkow wrote:

> bor@itsrm2:/tools/src/zsh-3.1.5-pws-12/Completion%> zsh -f
> itsrm2% fpath=($PWD/${^~:-*(/)})
> itsrm2% source Core/compinit
> itsrm2% cdpath=(/tools/src)
> itsrm2% setopt globcomplete
> itsrm2% cd /tools
> itsrm2% l s/*3TAB
> itsrm2% l src/autoconf-2.13/
> autoconf-2.13/     samba-2.0.3/       tk8.0.3/           zsh-3.1.5-pws-12/
> mc-4.5.13/         sendmail-8.9.3/    top-3.4/
> ncftp-3.0beta18/   tcl8.0.3/          wget-1.5.3/
> 
> In other words, all files with ``3'' in them are taken. And menu starts
> immediately.

That's because with `globcomplete', the code inserts a `*' at the
cursor position. I'm reluctant to change this (since that would be an
incompatible change), but I always was aware of the problem and the
patch for matching-cleanup I'm working on will allow one to say that
no `*' should be inserted -- this is also interesting to have when
using auto-correction (and somehow I got a mail from Peter replying to 
a mail from Bart where this problem was mentioned).

> I think, if user explicitly gives glob pattern, he probably knows what he's
> doing. I noted this, when I tried to change to a directory; there were three
> dirs:
> SIN3C1 SIN3C2 SIN3C3 - and I wanted to select exactly one (the last) but got
> all three.
> 
> And another problem with _cd (I think)
> 
> itsrm2% cd s/*3TAB
>    Beep

Is this still with the setting of `cdpath' you gave above? If so, this 
is correct ;-)

> Ahem ... I'd expect it to complete to src/whatever
> 
> itsrm2% cd *3TAB  (they are all in /tools/src)
> itsrm2% cd autoconf-2.13
> autoconf-2.13      samba-2.0.3        tk8.0.3            zsh-3.1.5-pws-12
> mc-4.5.13          sendmail-8.9.3     top-3.4
> ncftp-3.0beta18    tcl8.0.3           wget-1.5.3
> 
> I get the same names and menu starts immediately (that's due to _path_files
> I think) but they are not marked with slash (and no autoremoved slash
> either)

Hm, this should work, and it does for me.

Bye
 Sven


--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



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