But as Dan said at the start \xF6 on its own (say as 1023 octet in a 0..1023 1024-octet buffer is not a fail. Changing that will make :encoding() layer have problems as buffer boundaries can occur in the middle of characters.
Right. Encode-2.07 indeed had the problem, resulting bleedperl to fail on ext/PerlIO/t/encoding.t, test 14. Encode-2.08 corrected the problem by checking if the caller is PerlIO and if so, sets Encode::RETURN_ON_ERR so it breaks out of the loop on partial character case.
I believe I have checked & tested enough but I would appreaciate if you guys take a look, especially Encode.xs and t/fallback.t.
Dan the Encode Maintainer