summaryrefslogtreecommitdiff
path: root/mathoms.c
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2018-07-19 16:26:34 -0600
committerKarl Williamson <khw@cpan.org>2018-07-19 16:28:06 -0600
commitcb57a253c69fe8de1944b420abb61efdc241bbad (patch)
treedad9e6b63f9539c802a2496a27ba5ac202d50acd /mathoms.c
parent3b8ffc90f45719aac51ef6e57afea6a501731a5a (diff)
downloadperl-cb57a253c69fe8de1944b420abb61efdc241bbad.tar.gz
Revert "Remove some deprecated functions from mathoms.c"
This reverts commit e6e9f5a198d7e054e6857a9c6e99a07d639f7f3c. I think it best to revert this until I'm ready for stating in perldelta exactly the options for replacing uses of these functions.
Diffstat (limited to 'mathoms.c')
-rw-r--r--mathoms.c241
1 files changed, 241 insertions, 0 deletions
diff --git a/mathoms.c b/mathoms.c
index d059f19273..ed466c2c71 100644
--- a/mathoms.c
+++ b/mathoms.c
@@ -1140,6 +1140,38 @@ 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)
{
@@ -1168,6 +1200,22 @@ 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)
{
@@ -1329,6 +1377,38 @@ 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);
@@ -1400,6 +1480,167 @@ 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