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

Completion problem when `nocaseglob' is set



I've just upgraded to zsh 4.3.4 (via Cygwin) and have found that
completion in the root C: drive no longer works when I `setopt
nocaseglob'. It was working fine with my previous version of zsh
4.<something> that I installed a couple of years ago, but I don't recall
the exact version.

After running `zsh -f', the following both work fine and list the files
in the root of my C drive:
$ ls c:/<TAB>    # lists files as expected
$ ls /c/<TAB>    # lists files as expected

  (btw, I have the cygwin drive prefix set to "/" instead of
"/cygdrive")

The problem starts when I set the `nocaseglob' option:
$ setopt nocaseglob
$ ls c:/<TAB>    # no files listed
$ ls /c/<TAB>    # no files listed

A couple of years ago I experienced the same problem and, after getting
help from this list, I resolved it by doing:
$ mount -c /cygdrive
$ /usr/bin/mkdir /c
$ /usr/bin/mount -c /

Apparently, creating the /c directory allowed it to become visible to
the globbing system (it's listed in `print /*'), although I don't
understand why this is only needed when `nocaseglob' is in effect.

Anyway, with zsh 4.3.4, the above is now only a partial fix:

$ ls /c/<TAB>    # lists files as expected
$ ls c:/<TAB>    # no files listed

Does anyone know how I can get completion to work using c:/<TAB> with
zsh 4.3.4 with `nocaseglob' enabled?

I've tried the following, but to no avail:
  zstyle ':completion:*:paths' accept-exact 'c:'
  zstyle ':completion:*' fake-files '/:c'

Thanks,

    --- John.



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