Egad, I remember this patch. It should have gone in. Amidst all the other stuff, I neglected to apply it. I will go do so now. This still doesn't help us figure out why the searching of russian characters, however, didn't work even after you applied the patch, correct? Maybe you can provide a patch to the unit testing stuff that demonstrates the failure? Or a simple demonstration that we can turn into a unit test?
The patch is perfectly simple and cannot destroy searching, I beleive. This is for Splitter.c; I am providing here simple patch, not a context diff to make it simpler for eyes; in the Collector it is in diff -c format:
228c228 < while (isspace(*here) && (here < end)) here++; ---
while (isspace((unsigned char)*here) && (here < end)) here++; 232c232 < c=tolower(*here);
c=tolower((unsigned char)*here);