gh-156444: Fix a negated character set with IGNORECASE and LOCALE (GH-156445)
charset_loc_ignore() tested the whole set once per locale case and took
the disjunction, which complements a set before closing it under case
instead of after: [bc] matched b'B', but so did [^bc]. Match both cases
of the character against every set member instead.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>