=item *
-XXX
+Calling macros like C<isALPHA_utf8> on malformed UTF-8 have issued a
+deprecation warning since Perl v5.18. They now die.
=back
(F) Parsing code supplied by an extension violated the parser's API in
a detectable way.
-=item Passing malformed UTF-8 to "%s" is deprecated
-
-(D deprecated, utf8) This message indicates a bug either in the Perl
-core or in XS code. Such code was trying to find out if a character,
-allegedly stored internally encoded as UTF-8, was of a given type, such
-as being punctuation or a digit. But the character was not encoded in
-legal UTF-8. The C<%s> is replaced by a string that can be used by
-knowledgeable people to determine what the type being checked against
-was. If C<utf8> warnings are enabled, a further message is raised,
-giving details of the malformation.
-
=item Pattern subroutine nesting without pos change exceeded limit in regex
(F) You used a pattern that uses too many nested subpattern calls without
* character without reading beyond the end, and pass that number on to the
* validating routine */
if (! isUTF8_CHAR(p, p + UTF8SKIP(p))) {
- if (ckWARN_d(WARN_UTF8)) {
- Perl_warner(aTHX_ packWARN2(WARN_DEPRECATED,WARN_UTF8),
- "Passing malformed UTF-8 to \"%s\" is deprecated", swashname);
- if (ckWARN(WARN_UTF8)) { /* This will output details as to the
- what the malformation is */
- utf8_to_uvchr_buf(p, p + UTF8SKIP(p), NULL);
- }
- }
- return FALSE;
+ _force_out_malformed_utf8_message(p, p + UTF8SKIP(p),
+ 0,
+ 1 /* Die */ );
+ NOT_REACHED; /* NOTREACHED */
}
+
if (!*swash) {
U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
*swash = _core_swash_init("utf8",