This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove some deprecated functions from mathoms.c
authorKarl Williamson <khw@cpan.org>
Fri, 29 Jun 2018 03:58:23 +0000 (21:58 -0600)
committerKarl Williamson <khw@cpan.org>
Fri, 29 Jun 2018 04:43:02 +0000 (22:43 -0600)
These have been deprecated since 5.18, and have security issues, as they
can try to read beyond the end of the buffer.

embed.fnc
embed.h
ext/XS-APItest/APItest.pm
ext/XS-APItest/APItest.xs
ext/XS-APItest/t/handy_base.pl
mathoms.c
proto.h

index 7c606f4..0f06e38 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -765,8 +765,6 @@ AbDMpR      |bool   |is_uni_punct   |UV c
 AbDMpPR        |bool   |is_uni_xdigit  |UV c
 AMp    |UV     |to_uni_upper   |UV c|NN U8 *p|NN STRLEN *lenp
 AMp    |UV     |to_uni_title   |UV c|NN U8 *p|NN STRLEN *lenp
-AbDMpR |bool   |isIDFIRST_lazy |NN const char* p
-AbDMpR |bool   |isALNUM_lazy   |NN const char* p
 p      |void   |init_uniprops
 EpX    |SV *   |parse_uniprop_string|NN const char * const name           \
                                     |const Size_t len                     \
@@ -873,10 +871,6 @@ AMpR       |bool   |_is_utf8_FOO|U8 classnum|NN const U8 * const p             \
                |NN const char * const file|const unsigned line
 AMpR   |bool   |_is_utf8_FOO_with_len|const U8 classnum|NN const U8 *p     \
                |NN const U8 * const e
-AbDMpR |bool   |is_utf8_alnum  |NN const U8 *p
-AbDMpR |bool   |is_utf8_alnumc |NN const U8 *p
-AbDMpR |bool   |is_utf8_idfirst|NN const U8 *p
-AbDMpR |bool   |is_utf8_xidfirst|NN const U8 *p
 AMpR   |bool   |_is_utf8_idcont|NN const U8 *p
 AMpR   |bool   |_is_utf8_idstart|NN const U8 *p
 AMpR   |bool   |_is_utf8_xidcont|NN const U8 *p
@@ -885,25 +879,7 @@ AMpR       |bool   |_is_utf8_perl_idcont_with_len|NN const U8 *p               \
                |NN const U8 * const e
 AMpR   |bool   |_is_utf8_perl_idstart_with_len|NN const U8 *p              \
                |NN const U8 * const e
-AbDMpR |bool   |is_utf8_idcont |NN const U8 *p
-AbDMpR |bool   |is_utf8_xidcont        |NN const U8 *p
-AbDMpR |bool   |is_utf8_alpha  |NN const U8 *p
-AbDMpR |bool   |is_utf8_ascii  |NN const U8 *p
-AbDMpR |bool   |is_utf8_blank  |NN const U8 *p
-AbDMpR |bool   |is_utf8_space  |NN const U8 *p
-AbDMpR |bool   |is_utf8_perl_space     |NN const U8 *p
-AbDMpR |bool   |is_utf8_perl_word      |NN const U8 *p
-AbDMpR |bool   |is_utf8_cntrl  |NN const U8 *p
-AbDMpR |bool   |is_utf8_digit  |NN const U8 *p
-AbDMpR |bool   |is_utf8_posix_digit    |NN const U8 *p
-AbDMpR |bool   |is_utf8_graph  |NN const U8 *p
-AbDMpR |bool   |is_utf8_upper  |NN const U8 *p
-AbDMpR |bool   |is_utf8_lower  |NN const U8 *p
-AbDMpR |bool   |is_utf8_print  |NN const U8 *p
-AbDMpR |bool   |is_utf8_punct  |NN const U8 *p
-AbDMpR |bool   |is_utf8_xdigit |NN const U8 *p
 AMpR   |bool   |_is_utf8_mark  |NN const U8 *p
-AbDMpR |bool   |is_utf8_mark   |NN const U8 *p
 #if defined(PERL_CORE) || defined(PERL_EXT)
 EXdpR  |bool   |isSCRIPT_RUN   |NN const U8 *s|NN const U8 *send   \
                                |const bool utf8_target
@@ -1806,19 +1782,15 @@ s       |UV     |_to_utf8_case  |const UV uv1                                   \
                                |NULLOK const U8 * const aux_table_lengths      \
                                |NN const char * const normal
 #endif
-ApbmdD |UV     |to_utf8_lower  |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
 AMp    |UV     |_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e         \
                                |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags    \
                                |NN const char * const file|const int line
-ApbmdD |UV     |to_utf8_upper  |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
 AMp    |UV     |_to_utf8_upper_flags   |NN const U8 *p|NULLOK const U8 *e      \
                                |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags    \
                                |NN const char * const file|const int line
-ApbmdD |UV     |to_utf8_title  |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
 AMp    |UV     |_to_utf8_title_flags   |NN const U8 *p|NULLOK const U8* e      \
                                |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags    \
                                |NN const char * const file|const int line
-ApbmdD |UV     |to_utf8_fold   |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
 AMp    |UV     |_to_utf8_fold_flags|NN const U8 *p|NULLOK const U8 *e          \
                                |NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags  \
                                |NN const char * const file|const int line
diff --git a/embed.h b/embed.h
index 9bc7fb3..cf3ad9e 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define init_stacks()          Perl_init_stacks(aTHX)
 #define init_tm(a)             Perl_init_tm(aTHX_ a)
 #define intro_my()             Perl_intro_my(aTHX)
-#ifndef NO_MATHOMS
-#define isALNUM_lazy(a)                Perl_isALNUM_lazy(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define isIDFIRST_lazy(a)      Perl_isIDFIRST_lazy(aTHX_ a)
-#endif
 #define is_c9strict_utf8_string_loclen S_is_c9strict_utf8_string_loclen
 #define is_lvalue_sub()                Perl_is_lvalue_sub(aTHX)
 #define is_safe_syscall(a,b,c,d)       S_is_safe_syscall(aTHX_ a,b,c,d)
 #define is_uni_xdigit_lc(a)    Perl_is_uni_xdigit_lc(aTHX_ a)
 #endif
 #ifndef NO_MATHOMS
-#define is_utf8_alnum(a)       Perl_is_utf8_alnum(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_alnumc(a)      Perl_is_utf8_alnumc(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_alpha(a)       Perl_is_utf8_alpha(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_ascii(a)       Perl_is_utf8_ascii(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_blank(a)       Perl_is_utf8_blank(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
 #define is_utf8_char           Perl_is_utf8_char
 #endif
-#ifndef NO_MATHOMS
-#define is_utf8_cntrl(a)       Perl_is_utf8_cntrl(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_digit(a)       Perl_is_utf8_digit(aTHX_ a)
-#endif
 #define is_utf8_fixed_width_buf_loclen_flags   S_is_utf8_fixed_width_buf_loclen_flags
-#ifndef NO_MATHOMS
-#define is_utf8_graph(a)       Perl_is_utf8_graph(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_idcont(a)      Perl_is_utf8_idcont(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_idfirst(a)     Perl_is_utf8_idfirst(aTHX_ a)
-#endif
 #define is_utf8_invariant_string_loc   S_is_utf8_invariant_string_loc
-#ifndef NO_MATHOMS
-#define is_utf8_lower(a)       Perl_is_utf8_lower(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_mark(a)                Perl_is_utf8_mark(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_perl_space(a)  Perl_is_utf8_perl_space(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_perl_word(a)   Perl_is_utf8_perl_word(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_posix_digit(a) Perl_is_utf8_posix_digit(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_print(a)       Perl_is_utf8_print(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_punct(a)       Perl_is_utf8_punct(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_space(a)       Perl_is_utf8_space(aTHX_ a)
-#endif
 #define is_utf8_string_flags   S_is_utf8_string_flags
 #define is_utf8_string_loclen  Perl_is_utf8_string_loclen
 #define is_utf8_string_loclen_flags    S_is_utf8_string_loclen_flags
-#ifndef NO_MATHOMS
-#define is_utf8_upper(a)       Perl_is_utf8_upper(aTHX_ a)
-#endif
 #define is_utf8_valid_partial_char_flags       S_is_utf8_valid_partial_char_flags
-#ifndef NO_MATHOMS
-#define is_utf8_xdigit(a)      Perl_is_utf8_xdigit(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_xidcont(a)     Perl_is_utf8_xidcont(aTHX_ a)
-#endif
-#ifndef NO_MATHOMS
-#define is_utf8_xidfirst(a)    Perl_is_utf8_xidfirst(aTHX_ a)
-#endif
 #define isinfnan               Perl_isinfnan
 #define leave_adjust_stacks(a,b,c,d)   Perl_leave_adjust_stacks(aTHX_ a,b,c,d)
 #define leave_scope(a)         Perl_leave_scope(aTHX_ a)
index 61531fc..ba76d8f 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use warnings;
 use Carp;
 
-our $VERSION = '0.99';
+our $VERSION = '1.00';
 
 require XSLoader;
 
index a30659f..76c2ef5 100644 (file)
@@ -6434,11 +6434,9 @@ test_toLOWER_utf8(SV * p, int type)
         else if (type == -1) {
             resultant_cp = toLOWER_utf8(input, s, &len);
         }
-#ifndef NO_MATHOMS
         else {
-            resultant_cp = Perl_to_utf8_lower(aTHX_ input, s, &len);
+            croak("fail: Unexpected type=%d", type);
         }
-#endif
         av_push(av, newSVuv(resultant_cp));
 
         utf8 = newSVpvn((char *) s, len);
@@ -6524,11 +6522,9 @@ test_toFOLD_utf8(SV * p, int type)
         else if (type == -1) {
             resultant_cp = toFOLD_utf8(input, s, &len);
         }
-#ifndef NO_MATHOMS
         else {
-            resultant_cp = Perl_to_utf8_fold(aTHX_ input, s, &len);
+            croak("fail: Unexpected type=%d", type);
         }
-#endif
         av_push(av, newSVuv(resultant_cp));
 
         utf8 = newSVpvn((char *) s, len);
@@ -6614,11 +6610,9 @@ test_toUPPER_utf8(SV * p, int type)
         else if (type == -1) {
             resultant_cp = toUPPER_utf8(input, s, &len);
         }
-#ifndef NO_MATHOMS
         else {
-            resultant_cp = Perl_to_utf8_upper(aTHX_ input, s, &len);
+            croak("fail: Unexpected type=%d", type);
         }
-#endif
         av_push(av, newSVuv(resultant_cp));
 
         utf8 = newSVpvn((char *) s, len);
@@ -6697,11 +6691,9 @@ test_toTITLE_utf8(SV * p, int type)
         else if (type == -1) {
             resultant_cp = toTITLE_utf8(input, s, &len);
         }
-#ifndef NO_MATHOMS
         else {
-            resultant_cp = Perl_to_utf8_title(aTHX_ input, s, &len);
+            croak("fail: Unexpected type=%d", type);
         }
-#endif
         av_push(av, newSVuv(resultant_cp));
 
         utf8 = newSVpvn((char *) s, len);
index 7e8194e..9143eab 100644 (file)
@@ -163,7 +163,6 @@ my %utf8_param_code = (
                         "_safe"                 =>  0,
                         "_safe, malformed"      =>  1,
                         "deprecated unsafe"     => -1,
-                        "deprecated mathoms"    => -2,
                       );
 
 # This test is split into this number of files.
@@ -556,13 +555,8 @@ foreach my $name (sort keys %to_properties) {
         foreach my $utf8_param("_safe",
                                 "_safe, malformed",
                                 "deprecated unsafe",
-                                "deprecated mathoms",
                                 )
         {
-            use Config;
-            next if    $utf8_param eq 'deprecated mathoms'
-                    && $Config{'ccflags'} =~ /-DNO_MATHOMS/;
-
             my $utf8_param_code = $utf8_param_code{$utf8_param};
             my $expect_error = $utf8_param_code > 0;
 
index ed466c2..d059f19 100644 (file)
--- a/mathoms.c
+++ b/mathoms.c
@@ -1140,38 +1140,6 @@ Perl_newSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *block)
     return newATTRSUB(floor, o, proto, NULL, block);
 }
 
-UV
-Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-{
-    PERL_ARGS_ASSERT_TO_UTF8_FOLD;
-
-    return toFOLD_utf8(p, ustrp, lenp);
-}
-
-UV
-Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-{
-    PERL_ARGS_ASSERT_TO_UTF8_LOWER;
-
-    return toLOWER_utf8(p, ustrp, lenp);
-}
-
-UV
-Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-{
-    PERL_ARGS_ASSERT_TO_UTF8_TITLE;
-
-    return toTITLE_utf8(p, ustrp, lenp);
-}
-
-UV
-Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-{
-    PERL_ARGS_ASSERT_TO_UTF8_UPPER;
-
-    return toUPPER_utf8(p, ustrp, lenp);
-}
-
 SV *
 Perl_sv_mortalcopy(pTHX_ SV *const oldstr)
 {
@@ -1200,22 +1168,6 @@ ASCII_TO_NEED(const UV enc, const UV ch)
     return ch;
 }
 
-bool      /* Made into a function, so can be deprecated */
-Perl_isIDFIRST_lazy(pTHX_ const char* p)
-{
-    PERL_ARGS_ASSERT_ISIDFIRST_LAZY;
-
-    return isIDFIRST_lazy_if(p,1);
-}
-
-bool      /* Made into a function, so can be deprecated */
-Perl_isALNUM_lazy(pTHX_ const char* p)
-{
-    PERL_ARGS_ASSERT_ISALNUM_LAZY;
-
-    return isALNUM_lazy_if(p,1);
-}
-
 bool
 Perl_is_uni_alnum(pTHX_ UV c)
 {
@@ -1377,38 +1329,6 @@ Perl_is_uni_idfirst(pTHX_ UV c)
 }
 
 bool
-Perl_is_utf8_idfirst(pTHX_ const U8 *p) /* The naming is historical. */
-{
-    PERL_ARGS_ASSERT_IS_UTF8_IDFIRST;
-
-    return _is_utf8_idstart(p);
-}
-
-bool
-Perl_is_utf8_xidfirst(pTHX_ const U8 *p) /* The naming is historical. */
-{
-    PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST;
-
-    return _is_utf8_xidstart(p);
-}
-
-bool
-Perl_is_utf8_idcont(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_IDCONT;
-
-    return _is_utf8_idcont(p);
-}
-
-bool
-Perl_is_utf8_xidcont(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_XIDCONT;
-
-    return _is_utf8_xidcont(p);
-}
-
-bool
 Perl_is_uni_upper_lc(pTHX_ UV c)
 {
     return isUPPER_LC_uvchr(c);
@@ -1480,167 +1400,6 @@ Perl_to_uni_lower_lc(pTHX_ U32 c)
     return (U32)to_uni_lower(c, tmpbuf, &len);
 }
 
-bool
-Perl_is_utf8_alnum(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_ALNUM;
-
-    /* NOTE: "IsWord", not "IsAlnum", since Alnum is a true
-     * descendant of isalnum(3), in other words, it doesn't
-     * contain the '_'. --jhi */
-    return isWORDCHAR_utf8(p);
-}
-
-bool
-Perl_is_utf8_alnumc(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_ALNUMC;
-
-    return isALPHANUMERIC_utf8(p);
-}
-
-bool
-Perl_is_utf8_alpha(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_ALPHA;
-
-    return isALPHA_utf8(p);
-}
-
-bool
-Perl_is_utf8_ascii(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_ASCII;
-    PERL_UNUSED_CONTEXT;
-
-    return isASCII_utf8(p);
-}
-
-bool
-Perl_is_utf8_blank(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_BLANK;
-    PERL_UNUSED_CONTEXT;
-
-    return isBLANK_utf8(p);
-}
-
-bool
-Perl_is_utf8_space(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_SPACE;
-    PERL_UNUSED_CONTEXT;
-
-    return isSPACE_utf8(p);
-}
-
-bool
-Perl_is_utf8_perl_space(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE;
-    PERL_UNUSED_CONTEXT;
-
-    /* Only true if is an ASCII space-like character, and ASCII is invariant
-     * under utf8, so can just use the macro */
-    return isSPACE_A(*p);
-}
-
-bool
-Perl_is_utf8_perl_word(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD;
-    PERL_UNUSED_CONTEXT;
-
-    /* Only true if is an ASCII word character, and ASCII is invariant
-     * under utf8, so can just use the macro */
-    return isWORDCHAR_A(*p);
-}
-
-bool
-Perl_is_utf8_digit(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_DIGIT;
-
-    return isDIGIT_utf8(p);
-}
-
-bool
-Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT;
-    PERL_UNUSED_CONTEXT;
-
-    /* Only true if is an ASCII digit character, and ASCII is invariant
-     * under utf8, so can just use the macro */
-    return isDIGIT_A(*p);
-}
-
-bool
-Perl_is_utf8_upper(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_UPPER;
-
-    return isUPPER_utf8(p);
-}
-
-bool
-Perl_is_utf8_lower(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_LOWER;
-
-    return isLOWER_utf8(p);
-}
-
-bool
-Perl_is_utf8_cntrl(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_CNTRL;
-    PERL_UNUSED_CONTEXT;
-
-    return isCNTRL_utf8(p);
-}
-
-bool
-Perl_is_utf8_graph(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_GRAPH;
-
-    return isGRAPH_utf8(p);
-}
-
-bool
-Perl_is_utf8_print(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_PRINT;
-
-    return isPRINT_utf8(p);
-}
-
-bool
-Perl_is_utf8_punct(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_PUNCT;
-
-    return isPUNCT_utf8(p);
-}
-
-bool
-Perl_is_utf8_xdigit(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_XDIGIT;
-    PERL_UNUSED_CONTEXT;
-
-    return isXDIGIT_utf8(p);
-}
-
-bool
-Perl_is_utf8_mark(pTHX_ const U8 *p)
-{
-    PERL_ARGS_ASSERT_IS_UTF8_MARK;
-
-    return _is_utf8_mark(p);
-}
-
 /*
 =for apidoc is_utf8_char
 
diff --git a/proto.h b/proto.h
index 7be8fbd..3e027ab 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -1403,22 +1403,6 @@ PERL_CALLCONV OP*        Perl_invert(pTHX_ OP* cmd)
 PERL_CALLCONV bool     Perl_io_close(pTHX_ IO* io, GV *gv, bool not_implicit, bool warn_on_fail);
 #define PERL_ARGS_ASSERT_IO_CLOSE      \
        assert(io)
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_isALNUM_lazy(pTHX_ const char* p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_ISALNUM_LAZY  \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_isIDFIRST_lazy(pTHX_ const char* p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY        \
-       assert(p)
-#endif
-
 /* PERL_CALLCONV bool  Perl_is_ascii_string(const U8* const s, STRLEN len)
                        __attribute__warn_unused_result__
                        __attribute__pure__; */
@@ -1646,46 +1630,6 @@ PERL_CALLCONV bool       Perl_is_uni_xdigit_lc(pTHX_ UV c)
 #endif
 
 #ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_alnum(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_alnumc(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_ALNUMC        \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_alpha(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_ascii(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_ASCII \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_blank(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_BLANK \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
 PERL_CALLCONV STRLEN   Perl_is_utf8_char(const U8 *s)
                        __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_IS_UTF8_CHAR  \
@@ -1697,22 +1641,6 @@ PERL_CALLCONV STRLEN     Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end);
 #define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF      \
        assert(buf); assert(buf_end)
 #endif
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_cntrl(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_CNTRL \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_digit(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \
-       assert(p)
-#endif
-
 /* PERL_CALLCONV bool  is_utf8_fixed_width_buf_flags(const U8 * const s, STRLEN len, const U32 flags); */
 /* PERL_CALLCONV bool  is_utf8_fixed_width_buf_loc_flags(const U8 * const s, STRLEN len, const U8 **ep, const U32 flags); */
 #ifndef PERL_NO_INLINE_FUNCTIONS
@@ -1720,30 +1648,6 @@ PERL_STATIC_INLINE bool  S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const
 #define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS  \
        assert(s)
 #endif
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_graph(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_GRAPH \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_idcont(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_IDCONT        \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_idfirst(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST       \
-       assert(p)
-#endif
-
 /* PERL_CALLCONV bool  is_utf8_invariant_string(const U8* const s, STRLEN len)
                        __attribute__warn_unused_result__; */
 
@@ -1754,70 +1658,6 @@ PERL_STATIC_INLINE bool  S_is_utf8_invariant_string_loc(const U8* const s, STRLEN
        assert(s)
 #endif
 
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_lower(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_LOWER \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_mark(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_MARK  \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_perl_space(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE    \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_perl_word(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD     \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT   \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_print(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_PRINT \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_punct(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_PUNCT \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_space(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_SPACE \
-       assert(p)
-#endif
-
 /* PERL_CALLCONV bool  Perl_is_utf8_string(const U8 *s, STRLEN len)
                        __attribute__warn_unused_result__; */
 
@@ -1844,14 +1684,6 @@ PERL_STATIC_INLINE bool  S_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, c
 #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS   \
        assert(s)
 #endif
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_upper(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_UPPER \
-       assert(p)
-#endif
-
 /* PERL_CALLCONV bool  is_utf8_valid_partial_char(const U8 * const s, const U8 * const e)
                        __attribute__warn_unused_result__
                        __attribute__pure__; */
@@ -1863,30 +1695,6 @@ PERL_STATIC_INLINE bool  S_is_utf8_valid_partial_char_flags(const U8 * const s, c
        assert(s); assert(e)
 #endif
 
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_xdigit(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT        \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_xidcont(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT       \
-       assert(p)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV bool     Perl_is_utf8_xidfirst(pTHX_ const U8 *p)
-                       __attribute__deprecated__
-                       __attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST      \
-       assert(p)
-#endif
-
 PERL_CALLCONV bool     Perl_isinfnan(NV nv)
                        __attribute__warn_unused_result__
                        __attribute__pure__;
@@ -3728,34 +3536,6 @@ PERL_CALLCONV U32        Perl_to_uni_upper_lc(pTHX_ U32 c)
                        __attribute__warn_unused_result__;
 #endif
 
-#ifndef NO_MATHOMS
-PERL_CALLCONV UV       Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-                       __attribute__deprecated__;
-#define PERL_ARGS_ASSERT_TO_UTF8_FOLD  \
-       assert(p); assert(ustrp)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV UV       Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-                       __attribute__deprecated__;
-#define PERL_ARGS_ASSERT_TO_UTF8_LOWER \
-       assert(p); assert(ustrp)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV UV       Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-                       __attribute__deprecated__;
-#define PERL_ARGS_ASSERT_TO_UTF8_TITLE \
-       assert(p); assert(ustrp)
-#endif
-
-#ifndef NO_MATHOMS
-PERL_CALLCONV UV       Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
-                       __attribute__deprecated__;
-#define PERL_ARGS_ASSERT_TO_UTF8_UPPER \
-       assert(p); assert(ustrp)
-#endif
-
 PERL_CALLCONV bool     Perl_try_amagic_bin(pTHX_ int method, int flags);
 PERL_CALLCONV bool     Perl_try_amagic_un(pTHX_ int method, int flags);
 #ifndef NO_MATHOMS