Late-binding of function defaults (was Re: What is a function parameter =[] for?)

Chris Angelico rosuav at gmail.com
Thu Nov 26 19:48:14 EST 2015


On Fri, Nov 27, 2015 at 11:15 AM, Random832 <random832 at fastmail.com> wrote:
> Chris Angelico <rosuav at gmail.com> writes:
>> Windows: I'm not sure, and frankly, I don't trust it. A quick test
>> showed a couple of failures:
>>
>> It might be case insensitive only for ASCII.
>
> Windows uses a simple WCHAR->WCHAR (lower->upper) mapping for case
> comparison. it doesn't handle those cases, but it does handle all BMP
> characters that have a simple case equivalent within the BMP as of the
> unicode version that Microsoft supported when the disk was formatted.
>
> It's unfair to pick the two worst examples that you know offhand and
> declare that this means "only for ASCII". Pick any latin-1 (etc)
> diacritic, any letter of the greek and cyrillic alphabet, and it'll
> handle them just fine.
>

I picked a couple of test cases, found them to not do the case
insensitivity special cases, and concluded that I don't understand
Windows' file system case folding (with the possibility that it's an
ASCII-only case fold).

Anyway, it's still not something I would recommend; if you want true
case folding, you need to go the whole way - and it still has
problems.

ChrisA



More information about the Python-list mailing list