only use charrange for a single, contiguous range

before this patch, it used to ignore single characters,
cclasses and erroneously do a range check for ignorecase.