нашёл, этого ужасного и коварного жирного бага... (точнее целых двух)...
Живут они в uses SynCompletion;
Выглядят жирные баги так:
1) while (NewBlockBegin.X>1) and (NewBlockBegin.X-1<=length(CurLine))
and (CurLine[NewBlockBegin.X-1] in ['a'..'z','A'..'Z','0'..'9','_']) do
dec(NewBlockBegin.X);
2) while (NewBlockEnd.X<=length(CurLine))
and (CurLine[NewBlockEnd.X] in ['a'..'z','A'..'Z','0'..'9','_']) do
inc(NewBlockEnd.X);
Соответственно: русских букв - они не понимают...
Исправил - работает; теперь повторы типа: ррусские иили симсимволы илили обидобидно - отсутствуют;
Но там есть ещё один жирнющий баг... который из например "ру" - видит только "р", а из "русс" - видит только "ру"...
Понятно что баг идентичен, его только нужно отыскать...
Однако вопрос теперь в другом, код: CurLine[NewBlockEnd.X]
in ['a'..'z','A'..'Z','0'..'9','_'] - выглядит вкусно,
но сделать CurLine[NewBlockEnd.X]
in ['а'..'я','А'..'Я'] - естественно не позволяет,
я сделал с помощью array, вопрос такой:
Какие существуют варианты замены: ==>> in ['а'..'я','А'..'Я'] для UTF8 ???
/