rebol/r3 — pull request #63 by hostilefork (2013-01-14 00:21:11+00:00)
Title: Match  "uncased" parameter in Check_Bit with !HAS_CASE(parse) for bitsets

The definition for [Check_Bit]() is:

REBFLG Check_Bit(REBSER *bset, REBCNT c, REBFLG uncased)

Check bit indicated. Returns TRUE if set.
If uncased is TRUE, try to match either upper or lower case.

However the call from PARSE when matching against a bitset passes in [HAS_CASE(parse)](https://github.com/rebol/r3/blob/master/src/core/u-parse.c#L216). The `/case` refinement on parse indicates a desire to *pay attention* to case, not to ignore it. This led to the reverse of the desired behavior:

>> ab: charset [#"A" #"b"]
== make bitset! #{00000000000000004000000020}

>> parse "AB" [2 ab]
== false

>> parse/case "AB" [2 ab]
== true

Inverting the condition corrects this. It also fixes issues with parsing binary data...where `/case` is ignored (thus could *never* be case-insensitive as written).