AMpR |bool |is_utf8_punct |NN const U8 *p
ADMpR |bool |is_utf8_xdigit |NN const U8 *p
AMpR |bool |is_utf8_mark |NN const U8 *p
+AMpR |bool |_is_utf8_mark |NN const U8 *p
: Used in perly.y
p |OP* |jmaybe |NN OP *o
: Used in pp.c
#define _is_uni_FOO(a,b) Perl__is_uni_FOO(aTHX_ a,b)
#define _is_uni_perl_idstart(a) Perl__is_uni_perl_idstart(aTHX_ a)
#define _is_utf8_FOO(a,b) Perl__is_utf8_FOO(aTHX_ a,b)
+#define _is_utf8_mark(a) Perl__is_utf8_mark(aTHX_ a)
#define _is_utf8_perl_idstart(a) Perl__is_utf8_perl_idstart(aTHX_ a)
#define _to_uni_fold_flags(a,b,c,d) Perl__to_uni_fold_flags(aTHX_ a,b,c,d)
#define _to_utf8_fold_flags(a,b,c,d,e) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d,e)
STRLEN u;
STRLEN ulen;
UV uv;
- if (in_iota_subscript && ! is_utf8_mark(s)) {
+ if (in_iota_subscript && ! _is_utf8_mark(s)) {
/* A non-mark. Time to output the iota subscript */
#define GREEK_CAPITAL_LETTER_IOTA 0x0399
#define PERL_ARGS_ASSERT__IS_UTF8_FOO \
assert(p)
+PERL_CALLCONV bool Perl__is_utf8_mark(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__IS_UTF8_MARK \
+ assert(p)
+
PERL_CALLCONV bool Perl__is_utf8_perl_idstart(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
for (d = s; isALNUM_lazy_if(d,UTF);) {
d += UTF ? UTF8SKIP(d) : 1;
if (UTF) {
- while (UTF8_IS_CONTINUED(*d) && is_utf8_mark((U8*)d)) {
+ while (UTF8_IS_CONTINUED(*d) && _is_utf8_mark((U8*)d)) {
d += UTF ? UTF8SKIP(d) : 1;
}
}
else if (UTF && UTF8_IS_START(*s) && isALNUM_utf8((U8*)s)) {
char *t = s + UTF8SKIP(s);
size_t len;
- while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
+ while (UTF8_IS_CONTINUED(*t) && _is_utf8_mark((U8*)t))
t += UTF8SKIP(t);
len = t - s;
if (d + len > e)
}
else if (UTF && UTF8_IS_START(*s) && isALNUM_utf8((U8*)s)) {
char *t = s + UTF8SKIP(s);
- while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
+ while (UTF8_IS_CONTINUED(*t) && _is_utf8_mark((U8*)t))
t += UTF8SKIP(t);
if (d + (t - s) > e)
Perl_croak(aTHX_ ident_too_long);
char *end = s;
while ((end < send && isALNUM_lazy_if(end,UTF)) || *end == ':') {
end += UTF8SKIP(end);
- while (end < send && UTF8_IS_CONTINUED(*end) && is_utf8_mark((U8*)end))
+ while (end < send && UTF8_IS_CONTINUED(*end) && _is_utf8_mark((U8*)end))
end += UTF8SKIP(end);
}
Copy(s, d, end - s, char);
return is_XDIGIT_utf8(p);
}
+bool
+Perl__is_utf8_mark(pTHX_ const U8 *p)
+{
+ dVAR;
+
+ PERL_ARGS_ASSERT__IS_UTF8_MARK;
+
+ return is_utf8_common(p, &PL_utf8_mark, "IsM");
+}
+
+
bool
Perl_is_utf8_mark(pTHX_ const U8 *p)
{
PERL_ARGS_ASSERT_IS_UTF8_MARK;
- return is_utf8_common(p, &PL_utf8_mark, "IsM");
+ return _is_utf8_mark(p);
}
/*