ls [A-Z]* seems to match independently of case with the shipped zsh Interestingly ls [A-B]* does not macth b* but [A-C]* or [B-Z]* does. Installed zsh.3.1.6 which seems to fix it, but this is probably beta zsh Lost a bunch of file using this, hopefully I had backups.
I've confirmed the bug and reported it to the zsh-team - and will try to find it.
The problem is that when using a locale, A < a < B. This doesn't only affect zsh, but also bash2. I'm not sure about what to do with it - explicitly unsetting LC_COLLATE (setting it to POSIX, perhaps) in the program might be one solution, but what side effects would that have?
The glibc way of sorting doesn't make sense
This has changed recently, both fnmatch/glob and regex should behave more sanely