(F) The unexec() routine failed for some reason. See your local FSF
representative, who probably put it there in the first place.
-=item Unicode character %s is illegal
+=item Unicode non-character %s is illegal for interchange
-(W utf8) Certain Unicode characters have been designated off-limits by
-the Unicode standard and should not be generated. If you really know
-what you are doing you can turn off this warning by C<no warnings 'utf8';>.
+(W utf8) Certain codepoints, such as U+FFFE and U+FFFF, are defined by the
+Unicode standard to be non-characters. Those are legal codepoints, but are
+reserved for internal use; so, applications shouldn't attempt to exchange
+them. If you know what you are doing you can turn off this warning by
+C<no warnings 'utf8';>.
=item Unknown BYTEORDER
EXPECT
UTF-16 surrogate 0xd800 at - line 3.
UTF-16 surrogate 0xdfff at - line 4.
-Unicode character 0xfffe is illegal at - line 8.
-Unicode character 0xffff is illegal at - line 9.
-Unicode character 0x10fffe is illegal at - line 12.
-Unicode character 0x10ffff is illegal at - line 13.
+Unicode non-character 0xfffe is illegal for interchange at - line 8.
+Unicode non-character 0xffff is illegal for interchange at - line 9.
+Unicode non-character 0x10fffe is illegal for interchange at - line 12.
+Unicode non-character 0x10ffff is illegal for interchange at - line 13.
########
use warnings 'utf8';
my $d7ff = pack("U", 0xD7FF);
EXPECT
UTF-16 surrogate 0xd800 at - line 3.
UTF-16 surrogate 0xdfff at - line 4.
-Unicode character 0xfffe is illegal at - line 8.
-Unicode character 0xffff is illegal at - line 9.
-Unicode character 0x10fffe is illegal at - line 12.
-Unicode character 0x10ffff is illegal at - line 13.
+Unicode non-character 0xfffe is illegal for interchange at - line 8.
+Unicode non-character 0xffff is illegal for interchange at - line 9.
+Unicode non-character 0x10fffe is illegal for interchange at - line 12.
+Unicode non-character 0x10ffff is illegal for interchange at - line 13.
########
use warnings 'utf8';
my $d7ff = "\x{D7FF}";
EXPECT
UTF-16 surrogate 0xd800 at - line 3.
UTF-16 surrogate 0xdfff at - line 4.
-Unicode character 0xfffe is illegal at - line 8.
-Unicode character 0xffff is illegal at - line 9.
-Unicode character 0x10fffe is illegal at - line 12.
-Unicode character 0x10ffff is illegal at - line 13.
+Unicode non-character 0xfffe is illegal for interchange at - line 8.
+Unicode non-character 0xffff is illegal for interchange at - line 9.
+Unicode non-character 0x10fffe is illegal for interchange at - line 12.
+Unicode non-character 0x10ffff is illegal for interchange at - line 13.
Unbalanced string table refcount: (%d) for "%s"
Undefined top format called
Unexpected constant lvalue entersub entry via type/targ %d:%d
-Unicode character 0x%04
+Unicode non-character 0x%04
Unknown PerlIO layer "scalar"
Unknown Unicode option letter '%c'
unrecognised control character '%c'
!(flags & UNICODE_ALLOW_SUPER))
)
Perl_warner(aTHX_ packWARN(WARN_UTF8),
- "Unicode character 0x%04"UVxf" is illegal", uv);
+ "Unicode non-character 0x%04"UVxf" is illegal for interchange", uv);
}
if (UNI_IS_INVARIANT(uv)) {
*d++ = (U8)UTF_TO_NATIVE(uv);