I think my one-line change to Basic.pm solves the problem I pointed out. It does for me (obviously) and doesn't hurt the existing tests.
I haven't been able to make up a specific test for the rejection of multibyte-encoded files with the given testing framework. There seem to be additional encoding problems that make it hard to use run_ack() for that. So I'm just sending the fix.
Changed behavior of needs_line_scan() to accept multi-byte encodings
The change in ack reflects the change in Basic.pm
Migrated to ack2 queue.