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

Unexpected behavior with case insensitive completion under cygwin



[I'm using zsh 4.2.0, compiled under a recent cygwin, on WinXP SP1]

Earlier in the week I was experiencing the following problem:

Run `zsh -f' followed by:
$ autoload -U compinit
$ compinit -C
$ ls c:/WIN<tab>    => c:/WINDOWS/
$ ls c:/win<tab>    => doesn't complete, as expected

$ zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'

$ ls c:/WIN<tab>    => doesn't complete - is this a bug?
$ ls c:/win<tab>    => doesn't complete - is this a bug?

It also no longer completes when using the cygdrive prefix:

$ ls /cygdrive/c/WIN<tab>  => doesn't complete, but it did before the zstyle
command above.

Note however, that it will now complete case-insensitively when completing
relative paths:
$ cd c:/
$ ls WIN<tab>   => WINDOWS/
$ ls win<tab>   => WINDOWS/


I've spent quite a while trying various things, and found this morning that
the following will fix the problem:

$ zstyle ':completion:*:paths' accept-exact true

Now:
$ ls /cygdrive/c/win<tab>  => /cygdrive/c/WINDOWS/
$ ls c:/win<tab>  => c:/WINDOWS/



This is great, but can anyone explain what's going on?

Thanks,

John.



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