I reviewed the patch 'blame6_5.patch'. It all looks fine, functionally. I think it provides a good upgrade for any user of the API, even though I don't really think using it to process UTF-16 data is a very good idea.
The only part of the patch I'd like to see changed is the comment about "the end-of-line detection may lead to lines having a one byte offset", because this "offset" is purely an idea that belongs to the UTF-16-aware caller. It would be more accurate just to say here that the EOL detection splits lines at a LF byte (which it removes). -- - Julian